【发布时间】:2020-04-08 15:50:15
【问题描述】:
我有一个要使用的 kafka 流,其中包含一些 JSON 格式的信息。
我需要将该 json 数据转换为 Pandas 数据框,以进一步将其输入数据仓库。
问题在于 json 数据结构会根据事件类型不断变化。
例子:
第一个事件的结构如下:
{
"organization": "nation1",
"job_id": 1,
"job_name": "job1",
"state": {
"started": "no"
},
"timetamp": 1570357814930
}
然后另一个事件以这种结构出现:
{
"organization": "nation1",
"job_id": 1,
"job_name": "job1",
"state": {
"started": "yes",
"attended": "yes"
},
"timetamp": 1570357814988
}
注意上面 state 对象的变化。
假设最低级别的结构/层次结构不会改变,即; state 对象最多可以有 started 和 attended 键值对,但不能更多。虽然从第一个事件中可以看出,state 对象只有 started。
对于这种情况,我如何确保获得如下所示的 pandas 数据框。请记住,实际的 json 将有许多这样的字段/映射,它们将具有这样的动态结构
【问题讨论】:
-
试试
json_normalize..?