2014-09-23 52 views
2

我想通過xlrd打開工作簿。XLRDError:不支持的格式或損壞的文件:期望的BOF記錄;

import xlrd 
workbook=xlrd.open_workbook("D:\Book1.xlsx") 

但這如下拋出錯誤:

Traceback (most recent call last): 
File "C:\Users\testuser\Documents\NetBeansProjects\NewPythonProject\src\newpythonproject.py", line 18, i`enter code here`n <module> 
workbook=xlrd.open_workbook("D:\Book1.xlsx") 


File "D:\xlrd-0.7.1\xlrd\__init__.py", line 429, in open_workbook 
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) 


File "D:\xlrd-0.7.1\xlrd\__init__.py", line 1545, in getbof 
bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8]) 


File "D:\xlrd-0.7.1\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' 

我與蟒蛇的NetBeans插件運行此。如果xlrd的版本是問題,我需要一個鏈接來在Windows下載最新版本的xlrd。幫助我解決這個問題。

回答

4

它看起來像你正在使用xlrd-0.7.1這是比較舊的 - 最新版本是xlrd-0.9.3。我的測試顯示,0.7.1無法打開.xlxs文件,可以使用0.9.3打開,因此您需要升級。

你可以從PyPI:xlrd-0.9.3得到它。我不認爲MSI可用,但您應該能夠通過首先提取tarball然後運行python setup.py install來安裝它。

+0

我試過使用版本0.9.3和1.0.0。這兩個版本都給了我與上面相同的錯誤'XLRDError:不支持的格式,或損壞的文件:期望的BOF記錄;找到'...'' – 2017-04-05 15:33:04

+0

@Alex:可能有很多原因。你的.xlxs文件是否有效?它可以在Excel或LibreOffice中打開嗎? – mhawke 2017-04-05 23:41:33

+0

我可以在excel中打開它,但我確實收到一條警告,說在使用excel打開文件之前可能會損壞該文件。 – 2017-04-06 14:56:24

相關問題