我有一个如下所示的嵌套 JSON 文件(许多对象中的前 2 个):
{
"Abaddon the Despoiler": {
"Abaddon the Despoiler": {
"model_count": "1",
"points_value": "220\u2022",
"movement": "6\"",
"weapon_skill": "2+",
"ballistic_skill": "2+",
"strength": "5",
"toughness": "5",
"wounds": "8",
"attacks": "6",
"leadership": "10",
"save": "2+"
}
},
"Chaos Lord": {
"Chaos Lord": {
"model_count": "1",
"points_value": "80",
"movement": "6\"",
"weapon_skill": "2+",
"ballistic_skill": "2+",
"strength": "4",
"toughness": "4",
"wounds": "5",
"attacks": "4",
"leadership": "9",
"save": "3+"
}
},
我想将其转换为如下所示的数据框:
单元 | 模型计数 | 点值 | 移动 | 武器技能 | 弹道技能 | 力量 | 韧性 | 伤口 | 攻击 | 领导 | 节省 |
---|---|---|---|---|---|---|---|---|---|---|---|
掠夺者阿巴顿 | 1 | 220\u2022 | 6" | 2+ | 2+ | 5 | 5 | 8 | 6 | 10 | +2 |
混沌领主 | 1 | 80 | 6" | 2+ | 2+ | 4 | 4 | 5 | 4 | 9 | +3 |
我认为解决方案是使用 pandas json_normalize()
#load json object
with open('./archive/chaos-space-marines.json') as f:
d = json.load(f)
nycphil = pd.json_normalize(d)
nycphil.head(3)
但是,当我执行以下操作时,我得到一个 1 行 x 115 列的数据框,其列名如下
Abaddon the Despoiler.Abaddon the Despoiler.model_count
Abaddon the Despoiler.Abaddon the Despoiler.points_value
Abaddon the Despoiler.Abaddon the Despoiler.movement
Abaddon the Despoiler.Abaddon the Despoiler.weapon_skill
有任何想法吗?