假设下面的JSON文件片段将在Python上展开。在
{
"locations" : [ {
"timestampMs" : "1549913792265",
"latitudeE7" : 323518421,
"longitudeE7" : -546166813,
"accuracy" : 13,
"altitude" : 1,
"verticalAccuracy" : 2,
"activity" : [ {
"timestampMs" : "1549913286057",
"activity" : [ {
"type" : "STILL",
"confidence" : 100
} ]
}, {
"timestampMs" : "1549913730454",
"activity" : [ {
"type" : "DRIVING",
"confidence" : 100
} ]
} ]
}, {
"timestampMs" : "1549912693813",
"latitudeE7" : 323518421,
"longitudeE7" : -546166813,
"accuracy" : 13,
"altitude" : 1,
"verticalAccuracy" : 2,
"activity" : [ {
"timestampMs" : "1549911547308",
"activity" : [ {
"type" : "ACTIVE",
"confidence" : 100
} ]
}, {
"timestampMs" : "1549912330473",
"activity" : [ {
"type" : "BIKING",
"confidence" : 100
} ]
} ]
} ]
}
我们的目标是将其转换为一个扁平的数据帧,如下所示:
^{pr2}$如果关键的“活动”在不同的嵌套级别上重复出现,我们该怎么做呢?在
下面是一个使用
json_normalize
(documentation)的解决方案,假设您发布的JSON片段位于名为d
的python字典中。在编辑
如果
^{pr2}$['activity', 'activity']
记录路径有时丢失,上面的代码将抛出一个错误。以下解决方法应适用于此特定情况,但它很脆弱,而且速度可能慢得令人无法接受,具体取决于输入数据的大小:相关问题 更多 >
编程相关推荐