On Dec 8, 6:48 pm, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > En Fri, 05 Dec 2008 02:31:01 -0200, pk sahoo <[EMAIL PROTECTED]> > escribió: > > > > > hallo everybody, > > when i am running the following command > > >>>> import xlrd > >>>> book=xlrd.open_workbook("C:\\a.xls") > > > i am getting the following error.. > > > *Traceback (most recent call last): > > File "<stdin>", line 1, in <module> > > File "C:\Python25\Lib\site-packages\xlrd\__init__.py", line 370, in > > open_workb > > ook > > biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) > > File "C:\Python25\Lib\site-packages\xlrd\__init__.py", line 1323, in > > getbof > > raise XLRDError('Expected BOF record; found 0x%04x' % opcode) > > xlrd.biffh.XLRDError: Expected BOF record; found 0x3f3c* > > Looks like your a.xls file is not an Excel file (one of the formats > supported by xlrd). > As 0x3f3c corresponds to the characters '<?' you probably have an XML file.
This can be verified easily by opening the file with a simple-minded text editor (e.g. Notepad) ... if the first two lines are """ <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> """ then it's an Excel 2003 XML Spreadsheet that's been manually(?) renamed from .xml to .xls. The current xlrd release supports only the binary ("BIFF") format .xls files created by Excel 3.0 to Excel 2003. The next release (due out Real Soon Now) will support Excel 2.1 and 2.0 formats [don't ask]. Very soon after that will come support for Excel 2007 .xlsx which is a bunch of XML files inside a ZIP file. Support for Excel 2003 "SpreadsheetML" is way down the to-do list. If the OP wants to be able to read the file with xlrd: (1) Open it with Excel 200[37] and save as a .xls file or (2) rename it to .xml, start OpenOffice.org Calc, click on File, click on Open, click on "Files of type", choose "Microsoft Excel 2003 XML (*.xml)" from the (long, unsorted) drop-down list, ..., and save as etc etc. Gnumeric is not an option. HTH, John -- http://mail.python.org/mailman/listinfo/python-list