2012-04-24 55 views
1

我正在使用python進行excel處理。
我正在使用xlrd模塊(版本0.6.1)。python excel處理錯誤

我安倍來獲取大部分的Excel文件,但對於某些Excel文件它給我的錯誤是:

XLRDError: Expected BOF record; found 0x213c 

任何人都可以讓我知道如何解決這個問題呢?
在此先感謝。

+0

使用谷歌搜索這個確切的錯誤表明這些'.xls'文件不是Excel 2003'二進制'格式,但是基於xml(更新的excel文件格式)。你通過在記事本中打開一個驗證。你確定你正在使用最新的XLRD版本嗎? – ChristopheD 2012-04-24 07:06:09

+0

我沒有使用最新的xlrd模塊,因爲我們的項目正在使用0.6.1版本 – sam 2012-04-24 07:06:58

回答

1

你有什麼是最有可能的「XML電子表格2003(* .XML)」文件... "<!"又名"\x3c\x21"(這是XML流開始)被解釋爲小端數0x213c

記事本:前兩行:

<?xml version="1.0"?> 
<?mso-application progid="Excel.Sheet"?> 

您也可以通過打開用Excel文件,檢查這個,然後點擊Save As,看看顯示的文件類型。當你在那裏時,將它保存爲一個XLS文件,以便你的xlrd可以讀取它。

注意:此XML文件不是Excel 2007+ XLSX文件。 XLSX實際上是一個包含一串XML流的ZIP文件(起始於"PK",而不是"<?")。