首页 > 解决方案 > 寻求有关在 python 中将数据从嵌套 JSON 转换为平面 json 的帮助

问题描述

我正在寻找使用 python 将嵌套 json 转换为平面 json 的方法。我有来自 API 响应的数据,键/列的数量可以高达 100,元素的行/总计数可以是 100k

[{"Name":"John", "Location":{"City":"Los Angeles","State":"CA"}},{"Name":"Sam", "Location":{"City":"Chicago","State":"IL"}}]

我确实遇到了这个(Python flatten multilevel JSON),但这完全压平了整个 JSON,因此所有内容都在我目前不寻找的一行之下。我还想过在循环中一次在一个数据一个数组上使用它,但这会导致系统负载很大

[{"Name":"John", "City":"Los Angeles","State":"CA"},{"Name":"Sam", "City":"Chicago","State":"IL"}]

标签: pythonjsonpandastransformdata-science

解决方案


使用解包dict.pop

[{**d.pop("Location"), **d} for d in l]

输出:

[{'City': 'Los Angeles', 'Name': 'John', 'State': 'CA'},
 {'City': 'Chicago', 'Name': 'Sam', 'State': 'IL'}]

推荐阅读