从父母和孩子创建数据框

问题描述 投票:0回答:0

我正在处理从 Apple Health 作为 xml 文件导出的数据。

workouts = [node for node in nodes if node.tag == 'Workout']
ET.dump(workouts[0])

告诉我有一个子元素,WorkoutStatistics。

<Workout creationDate="2018-08-12 08:58:56 -0600" duration="7.757684383789698" durationUnit="min" endDate="2018-08-12 08:58:55 -0600" sourceName="Strongur" sourceVersion="9.2.0" startDate="2018-08-12 08:51:10 -0600" workoutActivityType="HKWorkoutActivityTypeTraditionalStrengthTraining">
  <WorkoutStatistics endDate="2018-08-12 08:58:55 -0600" startDate="2018-08-12 08:51:10 -0600" sum="30.7305" type="HKQuantityTypeIdentifierActiveEnergyBurned" unit="Cal" />
 </Workout>

我为父级创建数据框如下...

workout_list = [x.attrib for x in root.iter('Workout')]

这提供了来自父数据的结果,其中包含正确的列减去我稍后会做的一些格式设置。同样,我可以将子数据放入 df 中。但是,我不确定如何将子 WorkoutStatistics 数据也包含在数据框中。

如何创建包含子数据和父数据的数据框?是否有匹配父子数据的键,以便它只会在父子匹配的地方提取数据?或者我可以使用 startDate 和 endDate 来匹配记录吗?如果是这样,我该如何在合并中做到这一点?谢谢!

python elementtree
© www.soinside.com 2019 - 2024. All rights reserved.