解决思路:
1.输出2个文件为csv.gz,进行首次压缩
2.对两个文件再次进行zip压缩,格式为.zip
def zip_cell_file(file1, file2, zip_file):
with zipfile.ZipFile(zip_file, 'w') as z:
z.write(file1)
z.write(file2)
if __name__ == '__main__':
file1 = '/data/1.csv.gz'
file2 = '/data/2.csv.gz'
zip_file = '/data/3.zip'
data_frame1.to_csv(file1, index=False, sep=',', encoding='utf-8-sig', compression='gzip')
data_frame2.to_csv(file2, index=False, sep=',', encoding='utf-8-sig', compression='gzip')
# 压缩文件
zip_cell_file(file1 , file12, zip_file)
处理完后会在/data目录下生成一个3.zip文件,解压后发现有个data目录,里面才是需要的1.csv.gz和2.csv.gz,故而进行优化添加arcname属性值:
def zip_cell_file(file1, file2, zip_file):
with zipfile.ZipFile(zip_file, 'w') as z:
z.write(file1, arcname=file1.split('/')[-1])
z.write(file2, arcname=file2.split('/')[-1])
优化后,解压/data/3.zip 后可得到1.csv.gz和 2.csv.gz,可再次进行解压得到里面的1.csv和 2.csv