【问题标题】:How to resolve memory issue of pandas while reading big csv files如何在读取大 csv 文件时解决 pandas 的内存问题
【发布时间】:2017-01-16 19:40:51
【问题描述】:

我有一个包含数百万行的 100GB csv 文件。例如,我需要在 pandas 数据框中一次读取 10,000 行并将其分块写入 SQL 服务器。

我按照http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk 的建议使用了 chunksize 和 iteartor,并且遇到了许多类似的问题,但我仍然遇到内存不足的错误。

您能否建议一个代码来迭代地读取 pandas 数据帧中非常大的 csv 文件?

【问题讨论】:

    标签: python csv pandas dataframe iterator


    【解决方案1】:

    演示:

    for chunk in pd.read_csv(filename, chunksize=10**5):
        chunk.to_sql('table_name', conn, if_exists='append')
    

    其中conn 是一个SQLAlchemy 引擎(由sqlalchemy.create_engine(...) 创建)

    【讨论】:

    • 哇...对于我长期以来一直在努力解决的问题,这是一个更优雅的解决方案!谢谢!
    • @Geet,很高兴我能帮上忙... :) 感谢您接受答案!
    猜你喜欢
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多