【发布时间】:2020-05-10 11:37:09
【问题描述】:
我有 pandas 数据框,其中一列的条目采用嵌套 json 形式,如下所示
Date ID Request
12/01/2020 123 {"requestChannel":"amazon","userID":"123@abc.com","Context":"
{\"ref_id\":[\"1-123456\"],\"type\":\"Apparels\","formJson":null,"additionalData":null},"additional":
{"ref_id":"1-12345","last_saved":"order"}}
and thousands of rows like this in same format
我想根据“ID”只取出嵌套第二个json中的“类型”,如下所示:
Output
Date ID Request
12/01/2020 123 Apparels
我要做的是解析数据帧的请求列,因为 json 遍历整行并从第二个“上下文”json 中获取“类型”键并获取键类型
for name in range(data.shape[0]):
output_json=data['Request'][name]
json_data=json.loads(output_json)
try:
parse_json=json.loads(json_data['Request'])
value_to_insert=''
for json_key in parse_json:
value_to_insert+=str(json_key + '--'+ str(parse_json[json_key])+', '+'\n')
但是我的代码并没有将数据框系列更改为正确的 json 格式,而且迭代整个行也需要很多时间。任何关于优化解决方案的想法将不胜感激
【问题讨论】:
标签: json python-3.x pandas