Pandas:当使用chunksize选项读取csv时,如何从csv文件末尾跳过n行



我需要处理一个大尺寸的csv文件(~2GB(。由于内存限制较低,我使用chunksize选项在内存中一次加载一段csv,而不是加载整个csv文件。我需要识别csv的最后一个区块,并跳过该区块中的n行。在这一点上,我不确定如何实现这一点。感谢您的帮助。提前感谢!

为了做到这一点,您需要知道文件的大小,然后将其除以块大小,并以此方式识别最后一个块。不幸的是,您需要浏览整个文件才能找到总数。但是,您可以通过较小的内存大小来完成此操作。

f = open(file)
i = -1
for i, l in enumerate(f):
pass

在这个循环的末尾,i+1是文件的大小。使用Dask并行处理大文件是另一种选择,但我不确定你是否能得到文件的最后一块。

最新更新