Python 使用pandas加载过滤后的.tda文件的最简单方法是什么?

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

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 in huge:
            if SomeCondition(line):
                tmp.write(line)

t = pandas.read_table(tmp.name)

有没有办法避免这样使用临时文件

可以使用chunksize参数返回迭代器

见此:

  • 根据需要过滤块帧
  • 将筛选出的数据附加到列表中
  • 最后的海螺

(或者,你可以将它们写到新的CSV或HDFStores或其他任何地方)

这让我感到困扰,我觉得应该有一种方法可以懒散地读取文件,所以我问了这个问题。如果块中的所有行都不符合筛选条件,这是否有效?我遇到“无法附加空序列”异常。我想您可能必须执行以下操作:if len(已筛选):l.append(已筛选);concat haandles Nones,如果它不处理空序列,可能会出现错误