【发布时间】:2012-10-23 14:54:07
【问题描述】:
我有一个名为 df 的 pandas 数据框。
我想以 gzip 格式保存它。一种方法如下:
import gzip
import pandas
df.save('filename.pickle')
f_in = open('filename.pickle', 'rb')
f_out = gzip.open('filename.pickle.gz', 'wb')
f_out.writelines(f_in)
f_in.close()
f_out.close()
但是,这需要我首先创建一个名为filename.pickle 的文件。
有没有办法更直接地做到这一点,即不创建filename.pickle?
当我想加载已压缩的数据框时,我必须执行相同的操作
创建 filename.pickle 的步骤。例如,读取文件
filename2.pickle.gzip,这是一个 gzipped pandas 数据框,我知道以下方法:
f_in = gzip.open('filename2.pickle.gz', 'rb')
f_out = gzip.open('filename2.pickle', 'wb')
f_out.writelines(f_in)
f_in.close()
f_out.close()
df2 = pandas.load('filename2.pickle')
不先创建filename2.pickle 可以做到这一点吗?
【问题讨论】:
-
您将短语“压缩”和“压缩格式”与使用 gzip 的代码混合在一起,这是不正确的。 zip 和 gzip (.gz) 是两种不同的、不兼容的格式。如果您真的想要 zip 格式,那么 gzip 代码不会为您执行此操作。如果您想要 gzip 格式的数据,则将其称为 gzipped,而不是 zipped。
-
我想要压缩包。我想摆脱创建非压缩文件的中间步骤。我已经更正了使用的术语。
-
@Curious2learn 此答案的信息已更改。您介意查看答案并接受新答案吗?