我正在尝试规范化从GraphQL API获取的JSON,并使用json_normalize JSON将其转换为 Dataframe
[{
"node": {
"organization": {
"company": "System"
},
"id": "15",
"ip": "10.6.11.110",
"name": "devce_name",
"deviceClass": {
"logicalName": "class OEM",
"class": "class",
"description": "OEM",
"deviceCategory": {
"name": "Unknown"
}
},
"asset": {
"location": "",
"make": "make"
},
"events": {
"edges": [
{
"node": {
"message": "Device message",
"severity": "3
}
},
{
"node": {
"message": "message",
"severity": "2",
}
}
]
}
}
},
...
]
这是json_normalize使用我正在尝试的Pandas
nd = pd.json_normalize(
res,
record_path=["node", "events", "edges"],
meta= [["node", "organization", "company"], ["node", "name"], ["node", "ip"], ["node", "id"], ["node", "deviceClass"]]
)
如果 meta内部大小为2,则没有错误,
例如:-** meta= [[“节点”,“组织”],[“节点”,“名称”],[“节点”,“IP”],[“节点”,“ID”],[“节点”,“设备类”]]**
但当我尝试在列表中超过2时,我得到下面的错误。
例如:** meta= [[“节点”,“组织”,“公司”],[“节点”,“名称”],[“节点”,“ID”],[“节点”,“设备类”]]**
KeyError:'company'上述异常是导致以下异常的直接原因:....密钥错误:“尝试运行错误='ignore',因为关键字'company'并不总是存在”
如何在 meta中添加3个以上的字段?
谢谢
1条答案
按热度按时间68bkxrlz1#
几天前我坚持了同样的问题,你可以尝试一些不同的东西,像这样