我目前正在读取一个大的csv文件(大约1亿行),使用https://docs.python.org/2/library/csv.html中描述的命令行,例如:
import csv
with open('eggs.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
process_row(row)
我怀疑这是相当慢的,因为每一行都是单独读入的(需要对硬盘进行大量的读取调用)。有没有办法一次读入整个csv文件,然后对其进行迭代?虽然文件本身的大小很大(例如5Gb),但我的机器有足够的ram将其保存在内存中。你知道吗
那么,在迭代器上调用
list
:这将把它作为一个熊猫数据帧读入,这样你就可以用它做各种有趣的事情
是的,有一种方法可以一次读取整个文件:
引用:https://docs.python.org/2/library/functions.html#open
相关问题 更多 >
编程相关推荐