pythonファイルを完全に抽出せずにgz圧縮されたテキストファイルから行を読むのは簡単ですか?200MB前後のtext.gzファイルがあります。抽出すると、 7.4gb。そして、これが私が読む必要がある唯一のファイルではありません。全体のプロセスのために、私は10個のファイルを読まなければなりません。これはシーケンシャルな仕事になりますが、 。pythonを使用してそれを行うにはどうすればよいですか?テキストファイルを1行ずつ読み取る必要があります。
gzip.GzipFile を使用してみましたか?引数はopen
に似ています。
gzip.GzipFile を使用:
_import gzip
with gzip.open('input.gz','rt') as f:
for line in f:
print('got line', line)
_
注:gzip.open(filename, mode)
はgzip.GzipFile(filename, mode)
のエイリアスです。非圧縮ファイルを開くために使用されるwith open(...) as f:
に似ているため、前者の方が好きです。
Pythonで標準のgzipモジュールを使用できます。ただ使用する:
gzip.open('myfile.gz')
他のファイルと同様にファイルを開き、その行を読み取ります。
詳細はこちら: Python gzipモジュール