panda Dataframe 导出为csv到zip文件

mf98qq94  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(135)

我有这个代码来导出我的 Dataframe 到一个带有时间戳的csv:

import datetime

dt_string = datetime.now().strftime("%Y.%m.%d_%H%M%S")
df.to_csv('history/df' + dt_string + '.csv', sep=',', encoding='utf-8')

和下面的代码将其添加到zip文件中:

import zipfile

with zipfile.ZipFile('history/df.zip', 'a') as myzip:
    myzip.write('history/df' + dt_string + '.csv')

然后我可以删除 *.csv。
有没有办法跳过所有中间步骤,直接将 Dataframe 作为csv文件导出到现有的zip文件中?
最好是这样的文件结构。

df.zip
    >df_2020.02.28_144535.csv
    >df_2020.02.28_152010.csv
    >df_2020.02.28_171942.csv
    >df_2020.02.28_221014.csv

希望你已经说得够清楚了谢谢

oaxa6hgo

oaxa6hgo1#

您正在寻找的解决方案已在最新的panda版本中启用:

zip_file = 'history/df.zip'
csv_name = 'df' + dt_string + '.csv'
df.to_csv(zip_file,
          encoding='utf-8',
          mode='a',
          compression=dict(method='zip',
                           archive_name=csv_name))

有关详细信息,请参阅DataFrame.to_csv()上的文档

相关问题