8

我有一个巨大的文件,我们称之为one-csv-file.xz。它是一个 XZ 压缩的 CSV 文件。

如何在不先将文件解压缩到磁盘的情况下打开和解析文件?例如,如果文件大小为 100 GB,该怎么办?当然,Python 不能一次将所有这些读入内存。它会分页还是内存不足?

4

2 回答 2

6

你可以遍历一个LZMAFile对象

import lzma  # python 3, try lzmaffi in python 2
with open('one-csv-file.xz') as compressed:
    with lzma.LZMAFile(compressed) as uncompressed:
        for line in uncompressed:
            do_stuff_with(line)
于 2016-04-25T15:55:44.943 回答
3

您可以逐步解压缩。请参阅使用 LZMA 算法进行压缩。您创建一个LZMADecompressor对象,然后使用该decompress方法处理连续的压缩数据块来获取连续的未压缩数据块。

于 2015-02-22T07:26:39.517 回答