如何临时创建和存储拼花地板文件,以便随后将它们另存为压缩文件?

时间:2019-04-28 13:43:29

标签: python parquet zipfile

我正在创建多个Pandas数据框,并将它们作为parquet文件存储在硬盘上:

dataframe1.to_parquet('dataframe1.parquet', engine='pyarrow')
dataframe2.to_parquet('dataframe2.parquet', engine='pyarrow')
...

现在,我想使用zipfile将所有实木复合地板文件合并到一个压缩文件中,而无需先将实木复合地板文件明确保存在硬盘驱动器上。有没有一种方法可以仅临时存储镶木地板文件(硬盘或RAM),直接将其压缩并仅保存压缩文件?我想避免先保存实木复合地板文件,然后从它们制作一个zip文件,然后再删除实木复合地板文件。预先感谢您的支持!

我用来存储所有镶木地板文件的目录的方法:

import os
import zipfile

def zipdir(path, ziph):
    # ziph is zipfile handle
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

if __name__ == '__main__':
    zipf = zipfile.ZipFile('ParquetFiles.zip', 'w', zipfile.ZIP_DEFLATED)
    zipdir('tmp/', zipf)
    zipf.close()

来源:How to create a zip archive of a directory

0 个答案:

没有答案