我正在寻找将JSON输入平整到Pandas数据框的最佳方法的指南需要发现结构时。
我已经看过很多关于在Pandas中使用json_normalize函数展平嵌套JSON结构的类似讨论,但是所有解决方案都假定嵌套层的结构和数量是已知的。
但是,在我的情况下,JSON文件是在运行时确定的查询结果,因此,尽管每个级别都有规律性(例如,要解析的嵌套数组中的名称始终为“数据”) ,我无法事先知道我将要拥有多少个水平。
因此,在我开始尝试使用递归函数(对我来说不是那么简单)之前,我想确保某个地方没有现成的解决方案。
这是我要处理的数据类型的一个示例:
{
"responseStatus": "SUCCESS",
"responseDetails": {
"limit": 1000,
"offset": 0,
"size": 3,
"total": 3
},
"data": [
{
"item1": "value",
"item2": {
"responseDetails": {
"limit": 250,
"offset": 0,
"size": 250,
"total": 2
},
"data": [
{
"id": "abc"
},
{
"id": 123
} ]
}
}
]
}
我会对这样一个简单的扁平化结构感到满意:
+-------+-----------------------------+------------------------------+----------------------------+-----------------------------+---------------+
| item1 | item2.responseDetails.limit | item2.responseDetails.offset | item2.responseDetails.size | item2.responseDetails.total | item2.data.id |
+-------+-----------------------------+------------------------------+----------------------------+-----------------------------+---------------+
| value | 250 | 0 | 250 | 2 | abc |
| value | 250 | 0 | 250 | 2 | 123 |
+-------+-----------------------------+------------------------------+----------------------------+-----------------------------+---------------+
谢谢!
R。