web-dev-qa-db-ja.com

Pythonを使用してgzファイルを解凍する方法

FTPサイトからローカルのWindowsファイルサーバーにダウンロードしたgzファイルを抽出する必要があります。ファイルのローカルパスに設定された変数があり、GZIPマッドルで使用できることがわかっています。

これどうやってするの? GZファイル内のファイルはXMLファイルです。

41
Darkdeamon
import gzip
import shutil
with gzip.open('file.txt.gz', 'rb') as f_in:
    with open('file.txt', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
75
Matt

ドキュメントから:

import gzip
f = gzip.open('file.txt.gz', 'rb')
file_content = f.read()
f.close()
20
heinst

pandasにも渡したいかもしれません。

with gzip.open('features_train.csv.gz') as f:

    features_train = pd.read_csv(f)

features_train.head()
7
Feiyang.Chen
from sh import gunzip

gunzip('/tmp/file1.gz')
2
perfecto25

Xmlデータを使用しており、現在pd.read_xml()関数(v0.23.4以降)がないため、正確な答えではありませんが、pandas(v0.21.0以降)ではファイルを解凍できます君は!どうもありがとう!

import pandas as pd
import os
fn = '../data/file_to_load.json.gz'
print(os.path.isfile(fn))
df = pd.read_json(fn, lines=True, compression='gzip')
df.tail()
2
whs2k