Python读取SAS生成的XMLtypes.xls文件

我试图从数百个SAS生成的.xls文件中提取选项卡。 我尝试了以下方法,但没有运气。 我的xlrd版本是0.9.2。

 import xlrd book = xlrd.open_workbook('out_1.xls') 

错误消息是:

 Traceback (most recent call last):[Finished in 0.2s with exit code 1] File "I:\Dropbox\Sas data\sacwin\test.py", line 3, in <module> book = xlrd.open_workbook('out_1.xls') # Open an .xls file File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 435, in open_workbook ragged_rows=ragged_rows, File "C:\Python27\lib\site-packages\xlrd\book.py", line 91, in open_workbook_xls biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) File "C:\Python27\lib\site-packages\xlrd\book.py", line 1258, in getbof bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8]) File "C:\Python27\lib\site-packages\xlrd\book.py", line 1252, in bof_error raise XLRDError('Unsupported format, or corrupt file: ' + msg) xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '<?xml ve' 

一旦我在编辑器中打开.xls文件,标题如下所示:

 <?xml version="1.0" encoding="windows-1252"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office"> 

你介意给我一些关于如何parsing这些文件的build议吗? 谢谢!

我正在寻找这个问题的解决scheme。 我可以告诉你,文件格式是xml,但在Excel 2007 的Office Open XML(ECMA-376)格式(我认为它是SpreadsheetML)之前是预定的,所以它不被xlrd支持。

如果没有可用的python库,并且您对需要处理的文件的结构有很好的先验知识,那么我只需要使用一个xml读取器。

问候戴夫