sam
sam

Reputation: 19164

python excel processing error

I am working on the excel processing using python.
I am using xlrd module (version 0.6.1) for the same.

I am abe to fetch most of the excel files but for some excel files it gives me error as :

XLRDError: Expected BOF record; found 0x213c

Can anyone let me know about how to solve this issue?
thanks in advance.

Upvotes: 3

Views: 7046

Answers (1)

John Machin
John Machin

Reputation: 82952

What you have is most probably an "XML Spreadsheet 2003 (*.xml)" file ... "<!" aka "\x3c\x21" (which is what XML streams start with) is being interpreted as the little-endian number 0x213c.

Notepad: First two lines:

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

You can also check this by opening the file with Excel and then click on Save As and look at the file-type that is displayed. While you are there, save it as an XLS file so that your xlrd can read it.

Note: this XML file is NOT the Excel 2007+ XLSX file. An XLSX is actually a ZIP file (starts with "PK", not "<?") containing a bunch of XML streams.

Upvotes: 5

Related Questions