Python 缺少密钥时使用json_normalize函数

Python 缺少密钥时使用json_normalize函数,python,pandas,dataframe,json-normalize,Python,Pandas,Dataframe,Json Normalize,我遇到了一个关于json\u normalize函数的问题。指定项可能缺少的键时,会抛出一个键错误。如您所见,listpeomen并不总是存在于文件中 df={'Links':[{'id':1,'Gender':'X'}, {'id':2,'Gender':'Y','listPeople':[{'Person':'John','Age':42}] ] } test=json\u normalize(df,record\u path=“listPeople”,errors=“ignore”) 打

我遇到了一个关于
json\u normalize
函数的问题。指定项可能缺少的键时,会抛出一个键错误。如您所见,
listpeomen
并不总是存在于文件中

df={'Links':[{'id':1,'Gender':'X'},
{'id':2,'Gender':'Y','listPeople':[{'Person':'John','Age':42}]
]
}
test=json\u normalize(df,record\u path=“listPeople”,errors=“ignore”)
打印(测试)
根据,使用
errors=“ignore”
应该可以做到这一点,但这似乎不起作用

预期产出:

Person   Age
  NULL  NULL
  John    42
errors=“ignore”
适用于缺少的dict键,但您缺少一个可能包含多个dict的列表,并且您希望将其作为
记录路径传递。您可以用空值填充缺少的
列表人员

[i.update({'listPeople':[{'Person':None,'Age':None}]}) for i in df['Links'] if 'listPeople' not in i.keys()]

test = pd.json_normalize(df['Links'], record_path=['listPeople'], meta=['id','Gender'], errors = "ignore")
结果:

人 年龄 身份证件 性别 0 没有一个 楠 1. X 1. 约翰 42 2. Y
errors=“ignore”
适用于缺少的dict键,但您缺少一个可能包含多个dict的列表,并且您希望将其作为
记录路径传递。您可以用空值填充缺少的
列表人员

[i.update({'listPeople':[{'Person':None,'Age':None}]}) for i in df['Links'] if 'listPeople' not in i.keys()]

test = pd.json_normalize(df['Links'], record_path=['listPeople'], meta=['id','Gender'], errors = "ignore")
结果:

人 年龄 身份证件 性别 0 没有一个 楠 1. X 1. 约翰 42 2. Y