我可以在压缩流中添加Pandas吗?

2024-04-27 02:18:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道通过将compression='gzip'参数传递给pd.read_csv()我可以将数据帧保存到压缩的CSV文件中。在

my_df.to_csv('my_file_name.csv', compression='gzip')

我还知道,如果我想在现有CSV文件的末尾添加一个数据帧,我可以使用mode='a',如下所示

^{pr2}$

但是如果我想在压缩的CSV文件的末尾附加一个数据帧呢?有可能吗?我试着用

my_df.to_csv('my_file_name.csv', mode='a', index=False, compression='gzip')

但是,生成的CSV没有被压缩,尽管状态良好。在


这个问题的动机是我用Pandas处理一个大的CSV文件。我需要生成压缩的CSV输出,并将CSV文件分块处理成一个数据帧,这样我就不会遇到内存错误。因此,我要做的最合理的事情就是将每个输出数据帧块附加到一个压缩的zip文件中。在

我使用的是python3.4和Pandas 0.16.1。在


Tags: 文件csvto数据namepandasdfmode
1条回答
网友
1楼 · 发布于 2024-04-27 02:18:16

你可以做以下事情

import gzip

with gzip.open('my_file_name.csv.gz', 'a') as compressed_file:
    df.to_csv(compressed_file, index=False)

因为pandas.to_csv方法接受路径或类似文件的对象。在

相关问题 更多 >