在Python中打开excel文件时出错

嗨,我是非常新的python,这里即时试图打开Python代码中的xls文件,但它显示了一些错误,如下所示。

码:

from xlrd import open_workbook import os.path wb = open_workbook('C:\Users\xxxx\Desktop\a.xlsx') Error:Traceback (most recent call last): File "C:\Python27\1.py", line 3, in <module> wb = open_workbook('C:\Users\xxxx\Desktop\a.xlsx') File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 429, in open_workbook biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 1545, in getbof bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8]) File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 1539, in bof_error raise XLRDError('Unsupported format, or corrupt file: ' + msg) xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found 'PK\x03\x04\x14\x00\x06\x00' 

需要帮助guyz

这是版本冲突问题。 您的Excel工作表格式和xlrd预期的格式不同。 您可以尝试以不同的格式保存Excel表格,直到findxlrd所期望的内容。

不熟悉xlrd,但在我的Mac上没有出现任何错误。
根据@jewirth,你可以尝试将后缀重命名为旧版本的xls,然后重新打开或将其转换为xlsx。

  from xlrd import open_workbook import os.path wb = open_workbook(r'C:\Users\XXXX\Desktop\a.xlsx') print wb Output : <xlrd.book.Book object at 0x0260E490> 

打开“r”格式的excel,并显示excel对象。 其工作正常。 尝试获取xlrd版本并更新它。 将excel文件格式从“.xlsx”更改为“.xls”,然后尝试

你正在得到这个错误,因为你正在使用不支持xlsx的旧版xlrd 。

您需要升级到最新版本的xlrd。