无法从Jupyter Notebook压缩文件

问题描述

我尝试压缩文件,我使用了https://thispointer.com/python-how-to-create-a-zip-archive-from-multiple-files-or-directory/

中的示例
with ZipFile('sample2.zip','w') as zipObj2:

   # Add multiple files to the zip
   zipObj2.write('sample_file.csv')

sample2.zip已创建,但为空。当然csv文件存在并且不为空。

  • 我从Jupyter Notebook运行此代码

编辑:我正在使用相对路径-

input_dir = "../data/example/" 
with zipfile.ZipFile(os.path.join(input_dir,'f.zip'),'a') as zipObj2: 
zipObj2.write(os.path.join(input_dir,'f.tif'))

解决方法

您的问题让我有些困惑,但是如果我没错,这听起来像是您要在单个压缩文件中放置多个CSV文件?如果是这样,这就是您要寻找的:

#initiate files variable that contains the directory from which you wish to zip csv files
files=[f for f in os.listdir("./your_directory") if f.endswith('.csv')]

#initalize empty DataFrame 
all_data = pd.DataFrame()

#iterate through the files variable and concatenate them to all_data 
for file in files:
df = pd.read_csv('./your_directory' + file)
all_data = pd.concat([all_data,df])

然后调用新的DataFrame(all_data)以验证内容是否已传输。

,

您试图关闭zip文件进行保存?

from zipfile import ZipFile

with ZipFile('sample2.zip','w') as zipObj2:
   zipObj2.write('sample_file.csv')
   zipObj2.close()