【发布时间】:2016-05-12 04:56:27
【问题描述】:
在处理一些大型 CSV 文件(超过 3000 万行)时,我遇到了内存问题。所以,我想知道什么是最好的解决方案?我需要合并几个大表。非常感谢!
【问题讨论】:
-
csv 文件的大小是多少,您的 RAM 的大小是多少?。您在读取数据时是否尝试过
low_memory=False和chunksize之类的属性?
在处理一些大型 CSV 文件(超过 3000 万行)时,我遇到了内存问题。所以,我想知道什么是最好的解决方案?我需要合并几个大表。非常感谢!
【问题讨论】:
low_memory=False 和 chunksize 之类的属性?
Fastest way to parse large CSV files in Pandas 可能重复。
推断是,如果您经常加载 csv 文件数据,那么更好的方法是解析一次(使用传统的read_csv)并将其存储为HDF5 格式。 Pandas(带有PyTables 库)提供了一种处理此问题的有效方法[docs]。
此外,What is the fastest way to upload a big csv file in notebook to work with python pandas? 的答案向您展示了带有csv vs csv.gz vs Pickle 的示例数据集的定时执行 (timeit) vs HDF5 比较。
【讨论】:
HDF5 格式仍然最适合您的要求。参考this 以获得更清晰的信息。