首页 > 解决方案 > Python pandas read_excel 方法 KeyError 'show'

问题描述

我正在尝试使用 Pandas 读取扩展名为 .xlsx 的 excel 文件,它显示的是KeyError: 'show'

这是完整的错误堆栈跟踪:

File "~/Python_VirtualEnv/api/lib/python3.7/site-packages/pandas/io/excel.py", line 653, in __init__
    self._reader = self._engines[engine](self._io)
File "~/Python_VirtualEnv/api/lib/python3.7/site-packages/pandas/io/excel.py", line 424, in __init__
    self.book = xlrd.open_workbook(filepath_or_buffer)
File "~/Python_VirtualEnv/api/lib/python3.7/site-packages/xlrd/__init__.py", line 138, in open_workbook
    ragged_rows=ragged_rows,
File "~/Python_VirtualEnv/api/lib/python3.7/site-packages/xlrd/xlsx.py", line 812, in open_workbook_2007_xml
    x12book.process_stream(zflo, 'Workbook')
File "~/Python_VirtualEnv/api/lib/python3.7/site-packages/xlrd/xlsx.py", line 271, in process_stream
    meth(self, elem)
File "~/Python_VirtualEnv/api/lib/python3.7/site-packages/xlrd/xlsx.py", line 397, in do_sheet
    bk._sheet_visibility.append(visibility_map[state])
KeyError: 'show'

如果我打开并重新保存文件,那么它读取得非常好,所以我认为问题出在 Pandas 无法读取的某些格式或 Excel 版本控制上。

在我的应用程序中,我不能要求用户重新保存,因此它需要立即工作。我已经测试了大约 1000 个文件,只有一个给出了这个错误。

我可以做些什么来确保在引发此错误时读取文件?

标签: pythonexcelpandas

解决方案


因此,您遇到的错误是由于 xlrd 的一个旧错误而发生的。

该问题已在Pull Request #323中修复

更新 pandas 包、xlrd 包,它应该会再次工作。


推荐阅读