利用pandas,BytesIO,zipfile打包csv文件,生成压缩文件

import time
import pandas as pd
import zipfile
from io import BytesIO, StringIO

memory_file = BytesIO() # 创建二进制内存文件
dl_name = '{}.zip'.format("文件下载_" + time.strftime('%Y%m%d', time.localtime()))  # 下载文件zip名称
file_name = '{}.csv'.format("文件下载_" + time.strftime('%Y%m%d', time.localtime())) # csv文件名称
in_memory_file = StringIO() # csv内存文件
df.to_csv(in_memory_file, index=False)
in_memory_file.seek(0)

with zipfile.ZipFile(memory_file, "a", zipfile.ZIP_DEFLATED) as zf:
    zf.writestr(file_name, in_memory_file.getvalue().encode('utf_8_sig'))
memory_file.seek(0)

file_size = math.ceil(sys.getsizeof(memory_file) / (1024 * 1024)) # 获取文件大小
workbook = (dl_name, memory_file.read()) #返回文件名和zip的Bytes文件

Original: https://www.cnblogs.com/onemorepoint/p/15673338.html
Author: 多一点
Title: 利用pandas,BytesIO,zipfile打包csv文件,生成压缩文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/9132/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部