Как открыть и прочитать файл LZMA в памяти

У меня есть гигантский файл, назовем его одним-csv-file.xz . Это CSV-файл с сжатым сжатием XZ.

Как открыть и проанализировать файл без предварительного распаковки диска? Что, если файл, например, 100 ГБ? Конечно, Python не может читать все это в памяти сразу. Будет ли это страница или закончится память?

Вы можете выполнять итерацию через объект 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) 

Вы можете выполнить распаковку поэтапно. См. Сжатие с использованием алгоритма LZMA . Вы создаете объект LZMADecompressor , а затем используете метод decompress с последовательными фрагментами сжатых данных для получения последовательных фрагментов несжатых данных.