您好我是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
答案 0 :(得分:1)
这是版本冲突问题。您的Excel工作表格式和xlrd期望的格式不同。您可以尝试以不同的格式保存Excel工作表,直到找到xlrd期望的内容。
答案 1 :(得分:0)
不熟悉xlrd,但我的Mac上没有出现任何错误 根据@jewirth,您可以尝试将后缀重命名为旧版本的xls,然后重新打开它或将其转换为xlsx。
答案 2 :(得分:0)
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>
打开了&#39; r&#39;格式,它显示了excel对象。它正常工作。尝试获取xlrd版本并更新它。将excel文件格式更改为&#39; .xls&#39;来自&#39; .xlsx&#39;并尝试
答案 3 :(得分:0)
您收到该错误是因为您使用的旧版xlrd不支持xlsx。
您需要升级到最新版本的xlrd。