我收到错误:
OverflowError: length too large
我试图在这个有30GB内存的虚拟机上读取一个24GB的csv:
Linux indexer 3.19.0-59-generic #66~14.04.1-Ubuntu SMP Fri May 13 17:27:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
我有什么可能的解决办法?我不熟悉python中的大小限制:
csv_file = csv.reader(media.read().splitlines(), delimiter=mapping['delimiter'], quoting=csv.QUOTE_NONE)
删除
.read().splitlines()
,因为这将一次性将整个文件读入内存,这太多了。file对象media
已经是行的迭代器,因此csv.reader
将正确处理这一点。然后迭代读卡器,并逐行执行所需的任何操作。在相关问题 更多 >
编程相关推荐