Pandas具有出色的.read_table()
功能,但是巨大的文件会导致MemoryError
由于我只需要加载满足特定条件的行,我正在寻找一种只加载它们的方法。
这可以使用临时文件来完成:
with open(hugeTdaFile) as huge:
with open(hugeTdaFile + ".partial.tmp", "w") as tmp:
tmp.write(huge.readline()) # the header line
for line in huge:
if SomeCondition(line):
tmp.write(line)
t = pandas.read_table(tmp.name)
有没有办法避免使用临时文件?
答案 0 :(得分:1)
您可以使用chunksize参数返回迭代器
请参阅:http://pandas.pydata.org/pandas-docs/stable/io.html#iterating-through-files-chunk-by-chunk
(或者你可以把它们写到新的csvs或HDFStores或其他什么)