使用Python读取Excel时报错zipfile.BadZipFile: File is not a zip file

文章描述了在使用Python库openpyxl处理XLSX文件时遇到的错误,原因是尝试打开的文本文件实际上是.txt,而非真正的.xlsx格式。解决方法是确保文件正确为.xlsx,或者使用其他如WPS软件创建的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Traceback (most recent call last):
  File "/Users/long3/workspace/usefullc/electron-xls/backend/test/testXls.py", line 41, in <module>
    generate_excel_from_template(template_path, output_path, excel_data)
  File "/Users/long3/workspace/usefullc/electron-xls/backend/test/testXls.py", line 6, in generate_excel_from_template
    template = load_workbook(template_path)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 344, in load_workbook
    reader = ExcelReader(filename, read_only, keep_vba,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 123, in __init__
    self.archive = _validate_archive(fn)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 95, in _validate_archive
    archive = ZipFile(filename, 'r')
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/zipfile.py", line 1269, in __init__
    self._RealGetContents()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/zipfile.py", line 1336, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

因为自己手动在磁盘中建立一个txt 文件,但是后缀确实xlsx. 导致文件格式不兼容。如下图所示:大小为0

保存的时候还提示不兼容。

后面直接通过wps软件创建xlsx 才正常。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程答疑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值