Python读取xlsx表格文件失败

1 报错

报错信息如下:

1
xlrd.biffh.XLRDError: Excel xlsx file; not supported

2 解决

2.1 调低xlrd版本(推荐)

xlrd过高,卸载旧版本重新安装1.2.0:

版本 支持
xlrd 1.2 支持 .xls 、 .xlsx 文件
xlrd 2.0 只支持.xls文件

在cmd中执行:

1
2
pip uninstall xlrd
pip install xlrd==1.2.0

再运行代码出现下面的报错:

1
AttributeError: 'ElementTree' object has no attribute 'getiterator'

在新版python3.9中,windows中使用的更新删除了getiterator方法,所以我们老版本的xlrd库调用getiterator方法时会报错。

  1. 找出Python安装目录python\Lib\site-packages\xlrd下的xlsx.py文件;
  2. 如果找不到文件地址,可以在 cmd 输入 pip show xlrd 即可找到xlrd的文件地址;
  3. 将两个地方的getiterator()改成iter()
  4. 然后重新载入程序就解决了。

2.2 调低excel版本

excel文件的版本过高,复制源文件,另存为:xls格式。

X 参考