7z圧縮されたcsv(テキスト)ファイルから(Python 2.7で)1行ずつ読み取りたいと思います。(大きな)ファイル全体を解凍するのではなく、行をストリーミングしたいのです。
私はpylzma.decompressobj()
失敗しました。データエラーが発生します。このコードはまだ行ごとに読み取っていないことに注意してください。
input_filename = r"testing.csv.7z"
with open(input_filename, 'rb') as infile:
obj = pylzma.decompressobj()
o = open('decompressed.raw', 'wb')
obj = pylzma.decompressobj()
while True:
tmp = infile.read(1)
if not tmp: break
o.write(obj.decompress(tmp))
o.close()
出力:
o.write(obj.decompress(tmp))
ValueError: data error during decompression