Python错误集锦:xlrd打开excel文件提示xlrd.biffh.XLRDError: Excel xlsx file; not supported(xlrd不支持xlsx)

原文链接: http://www.juzicode.com/python-error-xlrd-excel-xlrd-biffh-xlrderror-xlsx-file-not-supported/

错误提示:

 使用xlrd打开excel文件提示xlrd.biffh.XLRDError: Excel xlsx file; not supported

#juzicode.com /vx:桔子code
import xlrd
wb = xlrd.open_workbook("xlrd-test.xlsx")
print(wb.sheet_names())
print(wb.nsheets)
print(wb.sheets())
print(wb.sheet_by_name("Sheet1"))
print(wb.sheet_by_index(1))
==========运行结果:
Traceback (most recent call last):
   File "xlrd-read-xlsx.py", line 3, in 
     wb = xlrd.open_workbook("xlrd-test.xlsx")
   File "D:\Python\Python38\lib\site-packages\xlrd__init__.py", line 170, in open_workbook
     raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
 xlrd.biffh.XLRDError: Excel xlsx file; not supported

 

错误原因:

1、xlrd 2.0.0以后的版本不支持xlsx格式的excel文件:

解决方法:

1、将xlrd降级到1.2.0版本。

卸载当前版本:pip uninstall xlrd

再指定1.2.0版本安装:pip install xlrd==1.2.0

2、改用xls格式的excel文件,可以在原文件基础上另存为保存成xls格式,也可以新建一个xls格式的文件,将内容复制过来。但是不可以仅简单修改文件名后缀的方法,修改后缀没有改变其xlsx格式的本质:

#juzicode.com /vx:桔子code
import xlrd
#wb = xlrd.open_workbook("xlrd-test.xlsx")
wb = xlrd.open_workbook("xlrd-test.xls")#改用xls格式文件
print(wb.sheet_names())
print(wb.nsheets)
print(wb.sheets())
print(wb.sheet_by_name("Sheet1"))
print(wb.sheet_by_index(1))
==========运行结果:
['Sheet1', 'Sheet2', 'Sheet3']
 3
[Sheet  0:, Sheet  1:, Sheet  2:]
Sheet  0:
Sheet  1:

扩展内容:

  1.  https://xlrd.readthedocs.io/en/stable/changes.html xlrd版本变更
  2.  http://www.python-excel.org/ 更多的excel表格python库

 


 

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注