下記内容で、エラーが出力されます。ZIPファイルを作成するまでの部分を出力してもエラーは出ていません。
「これだけだとエラーは出ません」
lists2 = [df1[0],df2[0]]
all_list2 = []
for i in lists2:
all_list2.append(list(i))
folder_list2 = list(range(1,3)) #rangeにて値を取得
so_dict2 = dict(zip(folder_list2,all_list2))
この部分だけ出力する時にはエラーはでないのですが、解決方法がわかりません。
お手数おかけしますが、ご教授お願いいたします。
Python
1import openpyxl 2import datetime 3import os 4 5#テスト用に1,2フォルダのみ抜粋 6lists2 = [df1[0],df2[0]] 7all_list2 = [] 8for i in lists2: 9 all_list2.append(list(i)) 10 11folder_list2 = list(range(1,3)) #rangeにて値を取得 12so_dict2 = dict(zip(folder_list2,all_list2)) 13 14hh = datetime.date.today().year#シート名取得のための記述 15sheet_name = (str(hh - 1992) + '期')#コピー先シート名取得 16wb1 = openpyxl.load_workbook('C:\Users\**\OneDrive\デスクトップ\テスト用\本番1.xlsm',data_only=True)#コピー元ブック読込 17ws1 = wb1['検針表 (2)']#コピー元シート読込 18 19for key, value in so_dict2.items():#コピー先ファイル取得 20 for v in value: 21 wb = openpyxl.load_workbook(f'C:\Users\**\OneDrive\デスクトップ\テスト用\個別表2\{key}\{v}.xlsx') 22 ws = wb[sheet_name]#コピー先シート取得 23 qq = ws1.cell(row = 1,column = 5).value 24 ws.cell(row = ws.max_row,column = 3, value = qq) 25 wb.save(f'C:\Users\abcab\OneDrive\デスクトップ\テスト用\個別表2\{key}\{v}.xlsx') 26 27「エラー」 28--------------------------------------------------------------------------- 29BadZipFile Traceback (most recent call last) 30<ipython-input-13-c2e42be596d5> in <module> 31 19 for key, value in so_dict2.items():#コピー先ファイル取得 32 20 for v in value: 33---> 21 wb = openpyxl.load_workbook(f'C:\Users\**\OneDrive\デスクトップ\テスト用\個別表2\{key}\{v}.xlsx') 34 22 ws = wb[sheet_name]#コピー先シート取得 35 23 qq = ws1.cell(row = 1,column = 5).value 36 37~\anaconda3\lib\site-packages\openpyxl\reader\excel.py in load_workbook(filename, read_only, keep_vba, data_only, keep_links) 38 313 39 314 """ 40--> 315 reader = ExcelReader(filename, read_only, keep_vba, 41 316 data_only, keep_links) 42 317 reader.read() 43 44~\anaconda3\lib\site-packages\openpyxl\reader\excel.py in __init__(self, fn, read_only, keep_vba, data_only, keep_links) 45 122 def __init__(self, fn, read_only=False, keep_vba=KEEP_VBA, 46 123 data_only=False, keep_links=True): 47--> 124 self.archive = _validate_archive(fn) 48 125 self.valid_files = self.archive.namelist() 49 126 self.read_only = read_only 50 51~\anaconda3\lib\site-packages\openpyxl\reader\excel.py in _validate_archive(filename) 52 94 raise InvalidFileException(msg) 53 95 54---> 96 archive = ZipFile(filename, 'r') 55 97 return archive 56 98 57 58~\anaconda3\lib\zipfile.py in __init__(self, file, mode, compression, allowZip64, compresslevel, strict_timestamps) 59 1267 try: 60 1268 if mode == 'r': 61-> 1269 self._RealGetContents() 62 1270 elif mode in ('w', 'x'): 63 1271 # set the modified flag so central directory gets written 64 65~\anaconda3\lib\zipfile.py in _RealGetContents(self) 66 1334 raise BadZipFile("File is not a zip file") 67 1335 if not endrec: 68-> 1336 raise BadZipFile("File is not a zip file") 69 1337 if self.debug > 1: 70 1338 print(endrec) 71 72BadZipFile: File is not a zip file
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/10/04 01:55