gpt4 book ai didi

python - 使用 Python 从此 JSON 对象中提取嵌套列表

转载 作者:行者123 更新时间:2023-11-30 22:46:24 25 4
gpt4 key购买 nike

我正在使用这个 python 脚本(尝试)从 JSON 对象中提取嵌套列表。

import json
from collections import defaultdict
from pprint import pprint

with open('data-science.txt') as data_file:
data = json.load(data_file)

locations = defaultdict(int)

for item in data['included']:
location = item['attributes']
print(location)

我得到以下输出:

{'name': 'Victoria', 'coord': [51.503378, -0.139134]}
{'name': 'United Kingdom', 'coord': None}
{'name': 'data science'}
{'CEO': None, 'abbreviation': None, 'logoUrl': None, 'title': 'Make IT London'}
{'name': 'Victoria', 'coord': [51.503378, -0.139134]}
{'name': 'United Kingdom', 'coord': None}
{'name': 'data science'}
{'CEO': None, 'abbreviation': None, 'logoUrl': None, 'title': 'Make IT London'}
{'name': 'Victoria', 'coord': [51.503378, -0.139134]}
{'name': 'United Kingdom', 'coord': None}
{'name': 'data science'}
{'CEO': None, 'abbreviation': None, 'logoUrl': None, 'title': 'Make IT London'}
{'name': 'Victoria', 'coord': [51.503378, -0.139134]}
{'name': 'United Kingdom', 'coord': None}
{'name': 'data science'}
{'CEO': None, 'abbreviation': None, 'logoUrl': None, 'title': 'Make IT London'}
{'name': 'Victoria', 'coord': [51.503378, -0.139134]}
{'name': 'United Kingdom', 'coord': None}
{'name': 'data mining'}
{'name': 'data analysis'}

但我真正想要的是与“id”关联的'coord'列表。

单个记录如下所示:

    {
"id": 3,
"type": "location",
"attributes": {
"name": "Victoria",
"coord": [
51.503378,
-0.139134
]
}
},

如何提取唯一的 "id": 3"coord": [ 51.503378, -0.139134 ]

最佳答案

这有点简单,但可能会有所帮助。基线 - 您可能想使用 python 中的 get 函数。 (参见:https://docs.python.org/2/library/stdtypes.html#dict.get)

我不会对下面的代码进行太多扩展 - 它相当简单 - 但您可以在它周围添加一些逻辑来检查 id 是否为 None 或 coord 是否为 None ,并根据您自己的目的进行其他处理。

for record in data['included']:
id = record.get('id', None)
coord = record.get('attributes', {}).get('coord', None)

关于python - 使用 Python 从此 JSON 对象中提取嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40895490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com