gpt4 book ai didi

python - 如何从 xml 或 tcx 文件中获取数据系列

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:35 27 4
gpt4 key购买 nike

我想用 Python 在特定标签之间处理来自 .tcx 文件(xml 格式)的数据。
文件格式如下。

 <Track>
<Trackpoint>
<Time>2015-08-29T22:04:39.000Z</Time>
<Position>
<LatitudeDegrees>37.198049426078796</LatitudeDegrees>
<LongitudeDegrees>127.07204628735781</LongitudeDegrees>
</Position>
<AltitudeMeters>34.79999923706055</AltitudeMeters>
<DistanceMeters>7.309999942779541</DistanceMeters>
<HeartRateBpm>
<Value>102</Value>
</HeartRateBpm>
<Cadence>76</Cadence>
<Extensions>
<TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
<Watts>112</Watts>
</TPX>
</Extensions>
</Trackpoint>
....Lots of <Trackpoint> ... </Trackpoint>
</Track>

最后,我将制作包含“纬度、高度、...瓦”列的数据表。
首先,我尝试使用 BeautifulSoup、xpath 等从标记数据(如 Watts .../Watts)中创建一个列表。但我是处理这些工具的新手。如何使用 Python 抓取 xml 文件中标签之间的数据?

最佳答案

您可以使用 lxml 模块以及 XPathlxml 适用于解析 XML/HTML、遍历元素树和返回元素文本/属性。您可以使用 XPath 选择特定元素、元素集或元素属性。使用您的示例数据:

content = '''
<Track>
<Trackpoint>
<Time>2015-08-29T22:04:39.000Z</Time>
<Position>
<LatitudeDegrees>37.198049426078796</LatitudeDegrees>
<LongitudeDegrees>127.07204628735781</LongitudeDegrees>
</Position>
<AltitudeMeters>34.79999923706055</AltitudeMeters>
<DistanceMeters>7.309999942779541</DistanceMeters>
<HeartRateBpm>
<Value>102</Value>
</HeartRateBpm>
<Cadence>76</Cadence>
<Extensions>
<TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
<Watts>112</Watts>
</TPX>
</Extensions>
</Trackpoint>
....Lots of <Trackpoint> ... </Trackpoint>
</Track>
'''

from lxml import etree

tree = etree.XML(content)
time = tree.xpath('Trackpoint/Time/text()')

print(time)

输出

['2015-08-29T22:04:39.000Z']

关于python - 如何从 xml 或 tcx 文件中获取数据系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503826/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com