如何解决如何加载和读取多个 csv,然后合并到一个文件中?
我正在认真解决从一个目录中读取多个 csvs 的问题,我将它们全部列出。
我尝试首先读取的所有文件,然后加载该文件的大约 15 行报告信息。尝试使用 skiprows=15 来消除这种情况,尽管这只会带来随机运气。
使用例如glob,我不断收到“pandas.errors.EmptyDataError:没有要从文件解析的列”或“读取行 XXXX 时出错......看到 23”、“Python int 太大而无法转换为 C 长”、“错误:字段大于字段限制 (131072)”。我正在尝试——在每个月的基础上——将每小时加载的数百个文件合并到一个共享中,然后将每个月的加载合并到 12 月、1 月、2 月......等等。除了 12 月,其他所有月份都运行良好,这就是为什么我真的想要一些能够读取任何 csv 文件的防弹解决方案。
我有这个:
import glob
import pandas as pd
import sys
import csv
maxInt = sys.maxsize
while True:
# decrease the maxInt value by factor 10
# as long as the OverflowError occurs.
try:
csv.field_size_limit(maxInt)
break
except OverflowError:
maxInt = int(maxInt/10)
df = pd.concat([pd.read_csv(f,encoding="ISO-8859-1",sep=",",skiprows=7,engine="python") for f in glob.glob('C:\\...._dec*.csv')],ignore_index=True)
df.to_csv("C:\\...\\dec_logons_total_per_some_date.csv",sep=';',index=False)
我明白了:
Traceback (most recent call last):
File "C:/.../PycharmProjects/FFA_AllFiles/load_multiple_csvs.py",line 51,in <module>
df = pd.read_csv(file_,index_col=None,error_bad_lines=False,skiprows=15,header=0,low_memory=False)
File "C:\Users\...\PycharmProjects\F...\venv\lib\site-packages\pandas\io\parsers.py",line 688,in read_csv
return _read(filepath_or_buffer,kwds)
File "C:\Users\...\PycharmProjects\FFA_AllFiles\venv\lib\site-packages\pandas\io\parsers.py",line 454,in _read
parser = TextFileReader(fp_or_buf,**kwds)
File "C:\Users\...\PycharmProjects\FFA_AllFiles\venv\lib\site-packages\pandas\io\parsers.py",line 948,in __init__
self._make_engine(self.engine)
File "C:\Users\...\PycharmProjects\FFA_AllFiles\venv\lib\site-packages\pandas\io\parsers.py",line 1180,in _make_engine
self._engine = CParserWrapper(self.f,**self.options)
File "C:\Users\...\PycharmProjects\FFA_AllFiles\venv\lib\site-packages\pandas\io\parsers.py",line 2010,in __init__
self._reader = parsers.TextReader(src,**kwds)
File "pandas\_libs\parsers.pyx",line 540,in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
我尝试了很多尝试,还包括skiprows=whatever,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。