use*_*159 24 python csv gzip export-to-csv pandas
我正在尝试使用以下内容将数据帧写入python pandas中的gzip压缩包:
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')
Run Code Online (Sandbox Code Playgroud)
这只是创建了一个名为'foo-YYYYMMDD.csv.gz'的csv,而不是一个真正的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)
Run Code Online (Sandbox Code Playgroud)
哪个也失败了.有任何想法吗?
roo*_*oot 38
使用df.to_csv()关键字参数compression='gzip'应该生成一个gzip存档.我使用与您相同的关键字参数对其进行了测试,并且它有效.
您可能需要升级pandas,因为gzip直到版本0.17.1才会实现,但尝试在以前的版本上使用它不会引发错误,只会产生一个常规的csv.您可以通过查看输出来确定当前版本的pandas pd.__version__.
Ioa*_*ios 20
用熊猫很容易完成
import pandas as pd
Run Code Online (Sandbox Code Playgroud)
将 pandas数据帧写入 gunzip压缩csv
df.to_csv('dfsavename.csv.gz', compression='gzip')
Run Code Online (Sandbox Code Playgroud)
从光盘中读取
df = pd.read_csv('dfsavename.csv.gz', compression='gzip')
Run Code Online (Sandbox Code Playgroud)
从文档
import gzip
content = "Lots of content here"
with gzip.open('file.txt.gz', 'wb') as f:
f.write(content)
Run Code Online (Sandbox Code Playgroud)
同 pandas
import gzip
content = df.to_csv(
sep='|',
header=True,
index=False,
quoting=csv.QUOTE_ALL,
quotechar='"',
doublequote=True,
line_terminator='\n')
with gzip.open('foo-%s.csv.gz' % todaysdatestring, 'wb') as f:
f.write(content)
Run Code Online (Sandbox Code Playgroud)
to_csv如果你没有传递文件名,这里的技巧是输出文本.然后你只需重定向文本gzip的write方法.
| 归档时间: |
|
| 查看次数: |
22794 次 |
| 最近记录: |