【发布时间】:2022-01-01 15:04:59
【问题描述】:
我需要根据 excel 中的列表将每个单独的文件从一个文件夹 (Location1) 压缩到另一个文件夹 (Location2),但目前我遇到了一个问题,即我的 zip 文件的输出被放置在根文件夹.
这是我的代码。
DirectorySource = 'D:\Location1'
DirectoryDestination = 'D:\Location2'
data = openpyxl.load_workbook(r'D:\File_List.xlsx')
df = data['Sheet1']
for i in range(2, df.max_row + 1):
cell_obj = df.cell(row=i, column = 1)
ZipFile(cell_obj.value+'.zip',mode='w').write(DirectorySource+'/'+cell_obj.value+'.txt',
basename(DirectorySource+'/'+cell_obj.value+'.txt'),compress_type=ZIP_DEFLATED)
我该如何解决这个问题?
【问题讨论】:
-
如果你想在不同的文件夹中使用
/path/file.zipinZipFile(...)-write()不会更改磁盘上的文件夹,但会更改 zip 文件中的文件夹。 -
我不知道你为什么使用
basename- 它应该给你cell_obj.value+'.txt'没有DirectorySource- 所以你可以直接使用cell_obj.value+'.txt'
标签: python zip python-zipfile