openpyxl load_workbook이 Excel을 로드하고 zipfile.BadZipFile 오류를 보고합니다. 파일이 zip 파일이 아닙니다.

질문

openpyxl load_workbook 함수를 사용하여 기존 Excel 파일을 로드하는 중 일부 오류가 발생했습니다.

Traceback (most recent call last):
  File "test1.py", line 28, in <module>
    split_excel("./test2.xlsx")
  File "test1.py", line 14, in split_excel
    wb = load_workbook(file_path)
  File "D:\softwares\Env\Python3\lib\site-packages\openpyxl\reader\excel.py", line 344, in load_workbook
    reader = ExcelReader(filename, read_only, keep_vba,
  File "D:\softwares\Env\Python3\lib\site-packages\openpyxl\reader\excel.py", line 123, in __init__
    self.archive = _validate_archive(fn)
  File "D:\softwares\Env\Python3\lib\site-packages\openpyxl\reader\excel.py", line 95, in _validate_archive
    archive = ZipFile(filename, 'r')
  File "D:\softwares\Env\Python3\lib\zipfile.py", line 1269, in __init__
    self._RealGetContents()
  File "D:\softwares\Env\Python3\lib\zipfile.py", line 1336, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

해결하다

위 엑셀 파일은 제가 vs code를 통해 생성한 엑셀 파일인데, 여러번 시도한 결과 vs code를 통해 생성된 엑셀 파일이라면 load_workbook을 통해 로딩 시 위의 오류가 발생합니다. 그리고 엑셀 테이블 관련 소프트웨어를 통해 엑셀 파일을 생성하면 성공적으로 불러올 수 있습니다.

Guess you like

Origin blog.csdn.net/weixin_42492572/article/details/132640255