【发布时间】:2021-12-31 06:27:05
【问题描述】:
具有以下 JSON。我想拉出任务将其展平并放入自己的数据框中并包含来自父级的 ID
[
{
"id": 123456,
"assignee":{"id":5757,"firstName":"Jim","lastName":"Johnson"},
"resolvedBy":{"id":5757,"firstName":"Jim","lastName":"Johnson"},
"task":[{
"assignee":{"id":5757,"firstName":"Jim","lastName":"Johnson"},
"resolvedBy":{"id":5757,"firstName":"Jim","lastName":"Johnson"},
"taskId":898989,
"status":"Closed"
},
{
"assignee":{"id":5857,"firstName":"Nacy","lastName":"Johnson"},
"resolvedBy":{"id":5857,"firstName":"George","lastName":"Johnson"},
"taskId":999999
}
],
"state":"Complete"
},
{
"id": 123477,
"assignee":{"id":8576,"firstName":"Jack","lastName":"Johnson"},
"resolvedBy":{"id":null,"firstName":null,"lastName":null},
"task":[],
"state":"Inprogress"
}
]
我想从这样的任务中获取数据框
id, assignee.id, assignee.firstName, assignee.lastName, resolvedBy.firstName, resolvedBy.lastName, taskId, status
我使用扁平化了整个数据框
df=pd.json_normalize(json.loads(df.to_json(orient='records')))
它在 [{}] 中留下了我认为可以的任务,因为我想将任务拉出到它自己的数据框中并包含来自父级的 id。
我在这样的数据框中有 id 和任务
tasksdf=storiesdf[['tasks','id']]
然后我想把它标准化
tasksdf=pd.json_normalize(json.loads(tasksdf.to_json(orient='records')))
但我知道,因为它在一个数组中,所以我需要做一些不同的事情。但是我一直无法弄清楚。我一直在查看其他示例并阅读其他人所做的事情。任何帮助将不胜感激。
【问题讨论】: