我有一个 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 文件吗?
最佳答案
演示:
for chunk in pd.read_csv(filename, chunksize=10**5):
chunk.to_sql('table_name', conn, if_exists='append')
其中 conn
是一个 SQLAlchemy 引擎(由 sqlalchemy.create_engine(...)
创建)
关于python - 如何在读取大 csv 文件时解决 pandas 的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39398283/