我尝试使用pandas json_normalize从json中获取元数据,但是它没有按预期工作。
我有一个具有以下结构的json fine
data=[
{'a':'aa',
'b':{'b1':'bb1','b2':'bb2'},
'c':[{
'ca':[{'ca1':'caa1'
}]
}]
}]
我想得到以下信息
| 钙离子|项目a| b.b1 |
| - ------|- ------|- ------|
| 钙铝|aa|bb1|
我希望这能奏效
pd.json_normalize(data, record_path=['c','ca'], meta = ['a',['b','b1']])
但是它没有找到键b1。奇怪的是,如果我的record_path是'c',它确实找到了键。我觉得我错过了什么,但是我不知道是什么。我感谢任何帮助!
1条答案
按热度按时间q35jwt9p1#
向下到第一层,您可以获取元数据作为您想要保留的列的列表。记录路径使用列表来Map您想要向下到的层。最后,列b是一个dict,您可以将其应用到Series concat中,返回到df中,并弹出以删除未打包的dict列。
输出: