如何打开和读取内存中的LZMA文件

2024-06-25 06:57:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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


Tags: 文件csv内存内容情况磁盘xz翻页
2条回答

您可以迭代一个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)

你可以逐步减压。见Compression using the LZMA Algorithm。创建一个LZMADecompressor对象,然后对压缩数据的连续块使用decompress方法来获得未压缩数据的连续块。在

相关问题 更多 >