我有一个巨大的XML文件,从设备导出为.xls文件。在
<?xml version='1.0'?>
<?mso-application progid='Excel.Sheet'?>
<s:Workbook xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:s="urn:schemas-microsoft-com:office:spreadsheet">
<s:Styles>
...
<s:Worksheet s:Name="Description">
...
<s:Worksheet s:Name="Data">
<s:Table s:DefaultColumnWidth="100">
<s:Row>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Time</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Temp1</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Temp2</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Liquid</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Response</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Base</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Events</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">Low</s:Data>
</s:Cell>
<s:Cell s:StyleID="Bold">
<s:Data s:Type="String">High</s:Data>
</s:Cell>
<s:Cell />
</s:Row>
...
<s:Row>
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">45</s:Data> # Time
</s:Cell>
# There is no Temp1 data
<s:Cell />
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">29.74</s:Data> # Temp2
</s:Cell>
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">12.11</s:Data> # Liquid
</s:Cell>
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">100</s:Data> # Response
</s:Cell>
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">30</s:Data> # Base
</s:Cell>
# There are no events in this data
<s:Cell />
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">0</s:Data> # Low
</s:Cell>
<s:Cell s:StyleID="Default">
<s:Data s:Type="Number">55</s:Data> # High
</s:Cell>
<s:Cell />
</s:Row>
我要做的是从名为“Data”的工作表中提取信息。数据有9个标题,但我只对对应于“Time”和“Temp2”的数据感兴趣,它们分别是“45”和“29.74”。在
我设法找到了如何使用以下方法导航文件:
^{pr2}$最接近于从单元格中获取数据的方法是使用我在另一篇文章中找到的一个示例,并尝试以下几种方法:
for elem in xmlTree.iter():
if elem.text != None:
print(elem.text)
这会输出所有的东西(18901行数据),我真的不知道如何从这里开始。最后,我想做的是将这些数据存储在一个数据框或其他类似的东西中,这样我就可以绘制它了。在
这可能是一个天真的建议,但您是否尝试过简单地使用Pandas(当然是在安装了包之后)?在
(这可能是一个评论,但我还不能评论…)
相关问题 更多 >
编程相关推荐