Information durch Python ablesen
Verfasst: Mittwoch 24. Januar 2018, 09:55
Guten Morgen Pythonnutzer,
nach langer Zeit fange ich wieder mit Python an, habe jedoch das meiste vergessen. Mein Zeil ist es aus einer Datei wichtige Daten auszulesen, die dann angezeigt werden soll. (Habe leider keine Ahnung wie ich damit anfangen soll).
Beispiel:
[codebox=xml file=Unbenannt.xml]<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase
xsi:schemaLocation="http://www.garmin.com/xmlschemas/Traini ... atabase/v2 http://www.garmin.com/xmlschemas/Traini ... basev2.xsd"
xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1"
xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2"
xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2"
xmlns="http://www.garmin.com/xmlschemas/Traini ... atabase/v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1">
<Activities>
<Activity Sport="Running">
<Id>2018-01-22T10:04:37.000Z</Id>
<Lap StartTime="2018-01-22T10:04:37.000Z">
<TotalTimeSeconds>367.0</TotalTimeSeconds>
<DistanceMeters>311.01</DistanceMeters>
<MaximumSpeed>2.1649999618530273</MaximumSpeed>
<Calories>19</Calories>
<Intensity>Active</Intensity>
<TriggerMethod>Manual</TriggerMethod>
<Track>
<Trackpoint>
<Time>2018-01-22T10:04:37.000Z</Time>
<DistanceMeters>0.0</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>0.0</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:05:16.000Z</Time>
<DistanceMeters>20.329999923706055</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5399999618530273</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:05:29.000Z</Time>
<DistanceMeters>40.4900016784668</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5399999618530273</ns3:Speed>
<ns3:RunCadence>47</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:05:43.000Z</Time>
<DistanceMeters>61.130001068115234</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.399999976158142</ns3:Speed>
<ns3:RunCadence>45</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:06:04.000Z</Time>
<DistanceMeters>81.83000183105469</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5859999656677246</ns3:Speed>
<ns3:RunCadence>49</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:06:18.000Z</Time>
<DistanceMeters>103.26000213623047</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.465000033378601</ns3:Speed>
<ns3:RunCadence>49</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:06:33.000Z</Time>
<DistanceMeters>124.05999755859375</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.3339999914169312</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:07:01.000Z</Time>
<DistanceMeters>144.6300048828125</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4459999799728394</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:07:27.000Z</Time>
<DistanceMeters>164.8800048828125</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5490000247955322</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:07:55.000Z</Time>
<DistanceMeters>185.1300048828125</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.437000036239624</ns3:Speed>
<ns3:RunCadence>53</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:09:00.000Z</Time>
<DistanceMeters>205.32000732421875</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5859999656677246</ns3:Speed>
<ns3:RunCadence>61</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:09:13.000Z</Time>
<DistanceMeters>225.5800018310547</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4839999675750732</ns3:Speed>
<ns3:RunCadence>51</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:09:36.000Z</Time>
<DistanceMeters>245.75999450683594</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4739999771118164</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:01.000Z</Time>
<DistanceMeters>266.3900146484375</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5399999618530273</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:20.000Z</Time>
<DistanceMeters>286.7200012207031</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4739999771118164</ns3:Speed>
<ns3:RunCadence>57</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:38.000Z</Time>
<DistanceMeters>308.0799865722656</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4739999771118164</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:44.000Z</Time>
<DistanceMeters>311.010009765625</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>0.0</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:47.000Z</Time>
<DistanceMeters>311.010009765625</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>0.0</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
</Track>
<Extensions>
<ns3:LX>
<ns3:AvgSpeed>0.7799999713897705</ns3:AvgSpeed>
<ns3:AvgRunCadence>28</ns3:AvgRunCadence>
<ns3:MaxRunCadence>114</ns3:MaxRunCadence>
</ns3:LX>
</Extensions>
</Lap>
<Creator xsi:type="Device_t">
<Name>Garmin Forerunner 220</Name>
<UnitId>3880419542</UnitId>
<ProductID>1632</ProductID>
<Version>
<VersionMajor>3</VersionMajor>
<VersionMinor>10</VersionMinor>
<BuildMajor>0</BuildMajor>
<BuildMinor>0</BuildMinor>
</Version>
</Creator>
</Activity>
</Activities>
<Author xsi:type="Application_t">
<Name>Garmin Connect API</Name>
<Build>
<Version>
<VersionMajor>18</VersionMajor>
<VersionMinor>1</VersionMinor>
<BuildMajor>0</BuildMajor>
<BuildMinor>0</BuildMinor>
</Version>
</Build>
<LangID>en</LangID>
<PartNumber>006-D2449-00</PartNumber>
</Author>
</TrainingCenterDatabase>
[/code]
Und ich will ein Programm erstellen welches davon den Speed oder den Distance herausfischt, also abliest und dann am Ende so etwas zeigt:
Distance: xxxx
Speed: xxx
Date: xxxx
nach langer Zeit fange ich wieder mit Python an, habe jedoch das meiste vergessen. Mein Zeil ist es aus einer Datei wichtige Daten auszulesen, die dann angezeigt werden soll. (Habe leider keine Ahnung wie ich damit anfangen soll).
Beispiel:
[codebox=xml file=Unbenannt.xml]<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase
xsi:schemaLocation="http://www.garmin.com/xmlschemas/Traini ... atabase/v2 http://www.garmin.com/xmlschemas/Traini ... basev2.xsd"
xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1"
xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2"
xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2"
xmlns="http://www.garmin.com/xmlschemas/Traini ... atabase/v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1">
<Activities>
<Activity Sport="Running">
<Id>2018-01-22T10:04:37.000Z</Id>
<Lap StartTime="2018-01-22T10:04:37.000Z">
<TotalTimeSeconds>367.0</TotalTimeSeconds>
<DistanceMeters>311.01</DistanceMeters>
<MaximumSpeed>2.1649999618530273</MaximumSpeed>
<Calories>19</Calories>
<Intensity>Active</Intensity>
<TriggerMethod>Manual</TriggerMethod>
<Track>
<Trackpoint>
<Time>2018-01-22T10:04:37.000Z</Time>
<DistanceMeters>0.0</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>0.0</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:05:16.000Z</Time>
<DistanceMeters>20.329999923706055</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5399999618530273</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:05:29.000Z</Time>
<DistanceMeters>40.4900016784668</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5399999618530273</ns3:Speed>
<ns3:RunCadence>47</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:05:43.000Z</Time>
<DistanceMeters>61.130001068115234</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.399999976158142</ns3:Speed>
<ns3:RunCadence>45</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:06:04.000Z</Time>
<DistanceMeters>81.83000183105469</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5859999656677246</ns3:Speed>
<ns3:RunCadence>49</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:06:18.000Z</Time>
<DistanceMeters>103.26000213623047</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.465000033378601</ns3:Speed>
<ns3:RunCadence>49</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:06:33.000Z</Time>
<DistanceMeters>124.05999755859375</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.3339999914169312</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:07:01.000Z</Time>
<DistanceMeters>144.6300048828125</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4459999799728394</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:07:27.000Z</Time>
<DistanceMeters>164.8800048828125</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5490000247955322</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:07:55.000Z</Time>
<DistanceMeters>185.1300048828125</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.437000036239624</ns3:Speed>
<ns3:RunCadence>53</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:09:00.000Z</Time>
<DistanceMeters>205.32000732421875</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5859999656677246</ns3:Speed>
<ns3:RunCadence>61</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:09:13.000Z</Time>
<DistanceMeters>225.5800018310547</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4839999675750732</ns3:Speed>
<ns3:RunCadence>51</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:09:36.000Z</Time>
<DistanceMeters>245.75999450683594</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4739999771118164</ns3:Speed>
<ns3:RunCadence>59</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:01.000Z</Time>
<DistanceMeters>266.3900146484375</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.5399999618530273</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:20.000Z</Time>
<DistanceMeters>286.7200012207031</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4739999771118164</ns3:Speed>
<ns3:RunCadence>57</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:38.000Z</Time>
<DistanceMeters>308.0799865722656</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>1.4739999771118164</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:44.000Z</Time>
<DistanceMeters>311.010009765625</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>0.0</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
<Trackpoint>
<Time>2018-01-22T10:10:47.000Z</Time>
<DistanceMeters>311.010009765625</DistanceMeters>
<Extensions>
<ns3:TPX>
<ns3:Speed>0.0</ns3:Speed>
<ns3:RunCadence>0</ns3:RunCadence>
</ns3:TPX>
</Extensions>
</Trackpoint>
</Track>
<Extensions>
<ns3:LX>
<ns3:AvgSpeed>0.7799999713897705</ns3:AvgSpeed>
<ns3:AvgRunCadence>28</ns3:AvgRunCadence>
<ns3:MaxRunCadence>114</ns3:MaxRunCadence>
</ns3:LX>
</Extensions>
</Lap>
<Creator xsi:type="Device_t">
<Name>Garmin Forerunner 220</Name>
<UnitId>3880419542</UnitId>
<ProductID>1632</ProductID>
<Version>
<VersionMajor>3</VersionMajor>
<VersionMinor>10</VersionMinor>
<BuildMajor>0</BuildMajor>
<BuildMinor>0</BuildMinor>
</Version>
</Creator>
</Activity>
</Activities>
<Author xsi:type="Application_t">
<Name>Garmin Connect API</Name>
<Build>
<Version>
<VersionMajor>18</VersionMajor>
<VersionMinor>1</VersionMinor>
<BuildMajor>0</BuildMajor>
<BuildMinor>0</BuildMinor>
</Version>
</Build>
<LangID>en</LangID>
<PartNumber>006-D2449-00</PartNumber>
</Author>
</TrainingCenterDatabase>
[/code]
Und ich will ein Programm erstellen welches davon den Speed oder den Distance herausfischt, also abliest und dann am Ende so etwas zeigt:
Distance: xxxx
Speed: xxx
Date: xxxx