我编写了一个小的简单脚本来读取和处理一个巨大的CSV文件(约150GB),该文件每循环读取5e6行,将其转换为Pandas数据帧,对其执行某些操作,然后继续读取下一个5e6行。在
尽管它完成了这项工作,但在每次迭代中,查找下一个要读取的行块需要更长的时间,因为它必须跳过更多的行。 我读了很多关于chunk(作为一个reader iterator)使用的答案,尽管一旦chunk被读取,我就需要连接chunk来创建一个DataFrame(有关于被截断的行和内容的各种问题),所以我不想走这条路。在
是否可以使用某种光标来提醒read_csv函数从停止的位置开始读取?在
代码的主要部分如下所示:
while condition is True:
df = pd.read_csv(inputfile, sep=',', header = None, skiprows = sr, nrows = 5e6)
# do something with df
sr = sr + 5e6
# if something goes wrong the condition turns False
使用你的方法熊猫将不得不开始阅读这个巨大的CSV文件从一开始,一次又一次,以跳过行。。。在
我想您确实想使用
chunksize
参数:相关问题 更多 >
编程相关推荐