溢出:长度太大

时间:2016-05-27 11:59:43

标签: python python-2.7 ubuntu

我收到错误: 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)

1 个答案:

答案 0 :(得分:3)

删除.read().splitlines(),因为这会将整个文件一次性读入内存并且过多。文件对象media已经是行的迭代器,因此csv.reader将正确处理它。然后迭代阅读器,逐行做你需要的任何事情。