Python新手求助:如何将无规范属性的XML文件导入Excel?
问题:将特定XML格式转为可正常打开的Excel文件
我是Python新手,尽管花了数小时乃至数天学习,仍在享受学习过程。目前我尝试用Python把XML文件直接导入Excel,但转CSV和XLSX都没成功。我的XML文件格式混乱,所有记录没有命名规范的属性,很难提取所需信息,结构如下:
<Worksheet ss:Name="Sheet1"> <Table> <Column ss:AutoFitWidth="0" ss:Width="50"/> <Column ss:AutoFitWidth="0" ss:Width="84" ss:Span="1"/> <Column ss:AutoFitWidth="0" ss:Width="110"/> <Column ss:AutoFitWidth="0" ss:Width="110"/> <Column ss:AutoFitWidth="0" ss:Width="90"/> <Column ss:AutoFitWidth="0" ss:Width="90"/> <Column ss:AutoFitWidth="0" ss:Width="87"/> <Column ss:AutoFitWidth="0" ss:Width="57.75"/> <Column ss:AutoFitWidth="0" ss:Width="57.75"/> <Column ss:AutoFitWidth="0" ss:Width="100"/> <Column ss:AutoFitWidth="0" ss:Width="100"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Column ss:AutoFitWidth="0" ss:Width="80"/> <Row> <Cell><Data ss:Type="Number">6427</Data></Cell> <Cell><Data ss:Type="String"><![CDATA[7EQ-E2V-9VG6]]></Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="DateTime">2023-01-01T19:01:06.000</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="DateTime">2023-01-11T13:26:44.000</Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Mack Snow]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[email@check.net]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Price Check]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Low]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Resolved]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Ticket from Karen Kaldwell]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[John Doe]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[01:00:00]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[2023-00123]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[337-411-0000]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[The Round Office]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[REPORT NARRATIVE DATA. Please return my call ASAP]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Jane]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[Doe]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[10/20/94]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[1234 Testing Dr]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> <Cell><Data ss:Type="String"><![CDATA[]]></Data></Cell> </Row>
文件里还有数百条类似的<Row>记录。我还试过用下面的代码修改文件扩展名:
import os A = r"C:\Users\ddejean\Desktop\TEST\finalxml.xml" pre, ext = os.path.splitext(A) os.rename(A, pre + ".xlsx")
改完后文件看起来正常,但因为格式和扩展名不匹配,打开时提示损坏。求可行的解决方案。
内容的提问来源于stack exchange,提问作者Demi Dee
相关产品推荐
相关产品推荐

