2012-04-24 5 views
1

私はpythonを使用してExcelの処理に取り組んでいます。
xlrdモジュール(バージョン0.6.1)を使用しています。python excel processing error

私は、Excelファイルの大半を取得するために阿部だが、いくつかのためにそれのように私にエラーを与えるファイルエクセル:

XLRDError: Expected BOF record; found 0x213c 

は、誰もが、私はこの問題を解決する方法を知らせることができますか?
ありがとうございます。あなたが持っているもの

+0

この正確なエラーを検出すると、これらの '.xls'ファイルはExcel 2003のバイナリ形式ではなく、xmlベースの(新しいExcelファイル形式)であることを示しています。あなたは、メモ帳で開封して確認します。最新のXLRDバージョンを使用していますか? – ChristopheD

+0

私たちのプロジェクトはバージョン0.6.1で動作しているので、私は最新のxlrdモジュールを使用していません – sam

答えて

1

がおそらくある「XMLスプレッドシート2003(* .xmlファイル)」ファイル... "<!"別名"\x3c\x21"リトルエンディアン数0x213cとして解釈されている(どのようなXMLストリームで始まるです)。

メモ帳:最初の2行は:

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

また、エクセルでファイルを開くことによって、これを確認してからSave Asをクリックして、表示されるファイルの種類を見ることができます。そこにいる間は、XLSファイルとして保存して、xlrdが読めるようにします。

注:このXMLファイルはExcel 2007+ XLSXファイルではありません。 XLSXは、実際にはXMLストリームの束を含むZIPファイル("PK"ではなく、"<?"で始まる)です。