我有一个 100GB 的 csv 文件,其中有数百万行。我需要在 pandas 数据框中一次读取 10,000 行,并将其分块写入 SQL 服务器。
我按照建议使用了 chunksize 以及 iteartorhttp://pandas-docs.github.io/pandas-docs-travis/io.html#iteating-through-files-chunk-by-chunk http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk,并经历了许多类似的问题,但我仍然遇到内存不足的错误。
您能建议一个代码来迭代读取 pandas 数据框中非常大的 csv 文件吗?
Demo:
for chunk in pd.read_csv(filename, chunksize=10**5):
chunk.to_sql('table_name', conn, if_exists='append')
where conn
是一个 SQLAlchemy 引擎(由sqlalchemy.create_engine(...)
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)