python中的xml2array

2024-03-28 11:31:54 发布

您现在位置:Python中文网/ 问答频道 /正文

那个文件.xml包含以下数据结构:

<table>
 <row>
   <x>10</x>
   <t>10:00</t>
</row>
<row>
   <x>20</x>
   <t>10:05</t>
</row>
</table>

我有一百对x,t。我需要画x和t的对比图。 如果您能帮助我解决python和matplotlib的问题,我将不胜感激。你知道吗


Tags: 文件数据结构matplotlibtablexmlrow
1条回答
网友
1楼 · 发布于 2024-03-28 11:31:54
import lxml.etree as ET
import matplotlib.pyplot as plt

text='''\
<table>
 <row>
   <x>10</x>
   <t>10:00</t>
</row>
<row>
   <x>20</x>
   <t>10:05</t>
</row>
</table>
'''

def convert_t(text):
    a,b=map(float,t.split(':'))
    return a+b/60.0

doc=ET.fromstring(text)
x=[float(x) for x in doc.xpath('//x/text()')]
t=[convert_t(t) for t in doc.xpath('//t/text()')]
plt.plot(x,t)
plt.show()
  • 上面的代码假设10:05表示10分钟,5分钟 秒。它使用convert_t将其转换为浮点。你知道吗
  • 添加了一个结束语</table>,以使XML有效。你知道吗

相关问题 更多 >