FTPサイトからローカルのWindowsファイルサーバーにダウンロードしたgzファイルを抽出する必要があります。ファイルのローカルパスに変数を設定しましたが、GZIPマドルで使用できることはわかっています。
これどうやってするの?GZファイル内のファイルはXMLファイルです。
FTPサイトからローカルのWindowsファイルサーバーにダウンロードしたgzファイルを抽出する必要があります。ファイルのローカルパスに変数を設定しましたが、GZIPマドルで使用できることはわかっています。
これどうやってするの?GZファイル内のファイルはXMLファイルです。
回答:
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)
shutil.copyfileobj()
3番目のパラメータがあることに注意してくださいlength
:「整数の長さは、指定されている場合、バッファサイズです。特に、負の長さの値は、ソースデータをチャンクでループせずにデータをコピーすることを意味します。デフォルトでは、データはチャンクで読み取られます。制御されていないメモリ消費を避けてください。」
with gzip.open('features_train.csv.gz') as f:
features_train = pd.read_csv(f)
features_train.head()
xmlデータを使用していて、現在pd.read_xml()
(v0.23.4以降)関数がないため、正確な答えではありませんが、パンダ(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()