PythonのパンダにCSVにGZIP圧縮を適用します。は、私は、以下のものを使用して、Pythonのパンダでgzip圧縮されたCSVファイルへのデータフレームを記述しようとしています
import pandas as pd
import datetime
import csv
import gzip
# Get data (with previous connection and script variables)
df = pd.read_sql_query(script, conn)
# Create today's date, to append to file
todaysdatestring = str(datetime.datetime.today().strftime('%Y%m%d'))
print todaysdatestring
# Create csv with gzip compression
df.to_csv('foo-%s.csv.gz' % todaysdatestring,
sep='|',
header=True,
index=False,
quoting=csv.QUOTE_ALL,
compression='gzip',
quotechar='"',
doublequote=True,
line_terminator='\n')
これは単に「FOO-YYYYMMDD.csvと呼ばれるcsvファイルを作成します.gz '、実際のgzipアーカイブではありません。
また、私はこれを追加しようとしました:
#Turn to_csv statement into a variable
d = df.to_csv('foo-%s.csv.gz' % todaysdatestring,
sep='|',
header=True,
index=False,
quoting=csv.QUOTE_ALL,
compression='gzip',
quotechar='"',
doublequote=True,
line_terminator='\n')
# Write above variable to gzip
with gzip.open('foo-%s.csv.gz' % todaysdatestring, 'wb') as output:
output.write(d)
としても失敗します。何か案は?あなたはそれのファイル名合格しない場合
としてディスクにパンダのデータフレームを非常に簡単に行われていますdf.to_csv'に 'compression = 'gを指定するとzip''は私のためにgzipアーカイブを生成します。私はあなたと同じキーワード引数を使用しました。あなたが使っているパンダのバージョンは?これを確認するには 'pd .__ version__'の出力を見てください。 gzipは0.17.1まで実装されていないようですが、以前のバージョンで使用しようとしてもエラーは発生しません。 @rootとして – root
は、すでに述べている - それは( '圧縮= 'gzip''を指定して)ちょうどそのように動作するはずです。あなたは – MaxU
[ここ](http://stackoverflow.com/a/37012035/5741205)は、いくつかの__tested__例です 'gzip'モジュールヨーヨーを使用する必要はありません。実際には私はHDF5に切り替えることをお勧めします - それはずっと速く便利です! – MaxU