pythonで書き込んだExcelファイルが破損する。

実現したいこと

元のExcelファイルからデータを抽出して分かりやすくしたいのですが、Excelファイルが破損しているとでてしまいます。
どうしたら開けるようになるでしょうか。
マクロファイルでなくスタンダードなファイルです。

発生している問題・分からないこと

書き込んだExcelファイルを開こうとすると破損していると出る。

エラーメッセージ

error

1Excelファイル’abc.xlsxm’を開くことができません。ファイル形式またはファイル拡張子が正しくありません。 ファイルが破損しておらず、ファイル拡張子とファイル形式が一致していることを確認してください

該当のソースコード

import openpyxl master = R"C:〇〇〇〇.xlsm" outexcel = R"C:〇〇〇〇.xlsx" circle = R"C:〇〇〇〇.xlsx" wbm = openpyxl.load_workbook(master) wbo = openpyxl.load_workbook(outexcel) wbc = openpyxl.load_workbook(circle) wsm = wbm['〇〇'] wso_kyotsu = wbo['〇〇'] wso_kishu = wbo['〇〇'] wsc = wbc['〇〇'] row_kyotsu = 1 row_kishu = 1 for fi in range (15, wsc.max_row + 1): row_kyotsu = row_kyotsu +1 row_kishu = row_kishu + 1 for mi in range (30, wsm.max_row +1): if wsc.cell(row = fi, column = 3).value == wsm.cell(row = mi, column = 3).value and wsc.cell(row = fi , column = 4).value == wsm.cell(row = mi, column = 4).value : wso_kyotsu.cell(row = row_kyotsu, column = 1).value = wsc.cell(row = fi, column = 3).value wso_kyotsu.cell(row = row_kyotsu, column = 2).value = wsc.cell(row = fi , column = 4).value kyoj = 7 for cj in range (7, wsc.max_column +1): wso_kyotsu.cell(row = row_kyotsu, column = kyoj).value == wsc.cell(row = fi, column = cj) kyoj = kyoj +1 wbo.save(outexcel) else : wso_kishu.cell(row = row_kishu, column = 1).value = wsc.cell(row = fi, column = 3).value wso_kishu.cell(row = row_kishu, column = 2).value = wsc.cell(row = fi , column = 4).value kishuj = 7 for cj in range (7, wsc.max_column +1): wso_kyotsu.cell(row = row_kishu, column = kishuj).value == wsc.cell(row = fi, column = cj) kishuj = kishuj +1 wbo.save(outexcel)

試したこと・調べたこと

上記の詳細・結果

書き込みファイルのファイル名・シート名を半角英数字
→改善せず
共通ファイルか否か
→共通ファイルでない

補足

特になし

コメントを投稿

0 コメント