[英]Python read SAS generated XML type .xls file
我正在嘗試從數百個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">
您介意給我一些有關如何解析這些文件的建議嗎? 謝謝!
我也在尋找解決這個問題的方法。 我可以告訴您,文件格式是xml,但早於Excel 2007'Office Open XML(ECMA-376)'格式(我認為是SpreadsheetML),因此xlrd不支持該格式。
如果沒有可用的python庫,並且您對要處理的文件結構有很好的先驗知識,那么我只會使用xml閱讀器。
問候戴夫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.