错误描述
使用openpyxl打开Excel文件,执行load_workbook方法时,报错zipfile.BadZipFile: File is not a zip file
File "/home/youngyoung/util.py", line 69, in get_info_from_file with Excel(path) as f: File "/home/youngyoung/excel.py", line 111, in __enter__ self._workbook = load_workbook(self.path) File "/home/youngyoung/py38env/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 344, in load_workbook reader = ExcelReader(filename, read_only, keep_vba, File "/home/youngyoung/py38env/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 123, in __init__ self.archive = _validate_archive(fn) File "/home/youngyoung/py38env/lib/python3.8/site-packages/openpyxl/reader/excel.py", line 95, in _validate_archive archive = ZipFile(filename, 'r') File "/home/youngyoung/python3.8.10/lib/python3.8/zipfile.py", line 1269, in __init__ self._RealGetContents() File "/home/youngyoung/python3.8.10/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
查看网上的一些说法:
- 使用
openpyxl
的save
函数,将数据保存在Excel
文件中。 - 在没有保存完成的情况下,又使用
load_workbook
函数加载该Excel
文件。
解决方法:在执行save函数将数据保存完之前,不要使用load_workbook
函数。文章来源:https://www.toymoban.com/news/detail-437918.html
我的解决方法:
但我并没有去写Excel文件,更没有保存,因此这种解决方案不适用于我的问题。后来手动打开该Excel文件的时候发现打不开,发现原来该文件是加密的,被锁上了,没有权限读取该文件,将文件的加密锁去掉后问题就解决了。文章来源地址https://www.toymoban.com/news/detail-437918.html
到了这里,关于使用openpyxl包读取Excel文件时报错:zipfile.BadZipFile: File is not a zip file的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!