微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何加载和读取多个 csv,然后合并到一个文件中?

如何解决如何加载和读取多个 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 举报,一经查实,本站将立刻删除。