【发布时间】:2014-10-07 21:56:50
【问题描述】:
我正在处理一个大约 13GB 和大约 130,000,000 行的巨大 csv 文件。我正在使用 python 并尝试使用我以前用于此类工作的 pandas 库来处理它。但是,我以前总是处理少于 2,000,000 行或 500MB 的 csv 文件。对于这个巨大的文件,pandas 似乎不再合适,因为当我尝试我的代码时我的电脑正在死机(2011 年的 MacBook Pro,8GB RAM)。有人可以告诉我一种在python中处理这种文件的方法吗? csv库会更合适吗?
提前谢谢你!
【问题讨论】:
-
分块读取,在
pd.read_csv中设置chunksize参数,另外你可以存储这个hd5f -
你对文件做了什么?您能否将您的工作表示为一次性算法?
-
该文件从洛杉矶的某个走廊收集了 6 个月的 GPS 探测数据。每条线代表在特定时间和特定(纬度,经度)点检测到的设备。设备以随机 ID 命名。我想根据“ID”列对文件进行分类,以找出重复次数最多的文件并绘制相关路径。谢谢 EdChum 我会尝试使用这种方法。另一种方法是使用每个“每日文件”(也可在数据库中获得),但这是一个限制,因为某些 ID 会在不同的日子出现。我更愿意在最一般的情况下工作。
标签: python csv pandas bigdata data-analysis