Python 使用pandas加载过滤后的.tda文件的最简单方法是什么?
Pandas具有出色的Python 使用pandas加载过滤后的.tda文件的最简单方法是什么?,python,pandas,large-files,Python,Pandas,Large Files,Pandas具有出色的.read_table()功能,但大型文件会导致内存错误。 因为我只需要加载满足特定条件的行,所以我正在寻找一种只加载这些行的方法 这可以使用临时文件完成: with open(hugeTdaFile) as huge: with open(hugeTdaFile + ".partial.tmp", "w") as tmp: tmp.write(huge.readline()) # the header line for line
.read_table()
功能,但大型文件会导致内存错误。因为我只需要加载满足特定条件的行,所以我正在寻找一种只加载这些行的方法 这可以使用临时文件完成:
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)
有没有办法避免这样使用临时文件 可以使用chunksize参数返回迭代器 见此:
- 根据需要过滤块帧
- 将筛选出的数据附加到列表中
- 最后的海螺
(或者,你可以将它们写到新的CSV或HDFStores或其他任何地方)这让我感到困扰,我觉得应该有一种方法可以懒散地读取文件,所以我问了这个问题。如果块中的所有行都不符合筛选条件,这是否有效?我遇到“无法附加空序列”异常。我想您可能必须执行以下操作:if len(已筛选):l.append(已筛选);concat haandles Nones,如果它不处理空序列,可能会出现错误