【发布时间】:2020-09-10 03:38:36
【问题描述】:
源是带有嵌套字典的 JSON 文件。
我创建了一个顶级的 defaultdict(dict) 和一个 for 循环来获取第 1 到 7 行、列 State、Size、Pop 的数据框。
在上面的 for 循环中,我再次创建了另一个(子)defaultdict(dict) 和 for 循环来获取第 1 到 2 行、City、Size、Pop 列的数据框
我将孩子 defaultdict(dict) 附加到顶部 defaultdict(dict)
父数据框的行应针对子数据框重复
想要的输出
State Size Pop City Size Pop
1 MH 120 300 MU 100 150
2 MH 120 300 PU 80 110
3 MH 120 300 NG 75 120
4 MH 120 300 PC 85 110
5 GJ 110 250 SU 70 100
6 GJ 110 250 VA 75 80
7 GJ 110 250 AH 85 120
另一个输入 JSON 的例子
输入 JSON:
{
"datatop": [
{
"datastate": {
"attributes": {
"Name": "ABC",
"Place": "123"
},
"children": [
{
"datacity": {
"attributes": {
"CName": "EFG",
"CPlace": "12345"
}
}
},
{
"datacity": {
"attributes": {
"CNAME": "HIJ",
"CPlace": "6789"
}
}
}
]
}
},
{
"datastate": {
"attributes": {
"Name": "XYZ",
"Place": "456"
},
"children": [
{
"datacity": {
"attributes": {
"CName": "LMN",
"CPlace": "1123"
}
}
},
{
"datacity": {
"attributes": {
"CName": "OPQ",
"CPlace": "22345"
}
}
}
]
}
}
],
"totalCount": "2"
}
预期输出:
Name Place CName CPlace
ABC 123 EFG 12345
ABC 123 HIJ 6798
XYZ 456 LMN 1123
XYZ 456 OPQ 22345
【问题讨论】:
-
请包括示例输入