我有一个列表,基本上包括在HTTP响应(json)中接收的数据对象的某些键
让列表类似于
['uid', 'status', 'profile.name', 'profile.login', 'profile.mobile']
我正在解析一个嵌套json类似-
{
"uid":"a1234",
"status":active,
"native":false,
"profile":{
"name": "xyz",
"alias": "z",
"login": "abc",
}
}
使用pandas. json_normalize()对上面的json将给我一个类似
的数据框架uid status native profile.name profile.alias profile.login
0 a1234 active false xyz z abc
现在我如何使用上面的列表并创建一个新的列表或数据框架(要么是ok的),以根据第一个列表保持响应值,同时处理http响应json中不存在的任何值为NA或"。期望得到一个列表或数据框架,如-
['a1234', 'active', 'xyz', 'abc', '']
或
uid status profile.name profile.login profile.mobile
0 a1234 active xyz abc ""
目前我正在循环第一个列表来实现这一点,但它比较慢,我可以使用向量化操作来加快这个过程吗?
iuc,您可以像这样使用reindex
print(pd.json_normalize(js) # js is my json
.reindex(columns=['uid', 'status', 'profile.name',
'profile.login', 'profile.mobile'])
.fillna(''))
# uid status profile.name profile.login profile.mobile
# 0 a1234 active xyz abc