Python 如何将JSON字典中的值附加到新列表中?
我有一个所有AWS目标组的.json文件。这是使用aws elbv2描述目标群体创建的。我想从这个文件中提取每个TargetGroupArn,并将其存储到Python列表中 用我当前的代码,我没有得到任何输出。我可以确认字典中有数据,但是没有任何内容被添加到我试图创建的列表中Python 如何将JSON字典中的值附加到新列表中?,python,Python,我有一个所有AWS目标组的.json文件。这是使用aws elbv2描述目标群体创建的。我想从这个文件中提取每个TargetGroupArn,并将其存储到Python列表中 用我当前的代码,我没有得到任何输出。我可以确认字典中有数据,但是没有任何内容被添加到我试图创建的列表中 import json from pprint import pprint with open('target_groups.json') as f: data = json.load(f) items = d
import json
from pprint import pprint
with open('target_groups.json') as f:
data = json.load(f)
items = data['TargetGroups']
arn_list = []
for key, val in data.items():
if key == 'TargetGroupArn':
arn_list.append(val)
print(arn_list)
预期结果是arn_列表打印出来,如下所示:
[arn:aws:elb:xxxxxxx:targetgroup1, arn:aws:elb:xxxxxxx:targetgroup2, arn:aws:elb:xxxxxxx:targetgroup3]
将代码更改为:
import json
from pprint import pprint
with open('target_groups.json') as f:
data = json.load(f)
arn_list = []
if 'TargetGroups' in data:
items = data['TargetGroups']
for item in items:
if 'TargetGroupArn' in item:
arn_list.append(item['TargetGroupArn'])
print(arn_list)
else:
print('No data')
有许多方法可以使python代码更加简洁。然而,我更喜欢一种更冗长、更容易阅读的风格
还请注意,此代码检查密钥是否存在,以便代码不会因缺少数据而堆叠转储。将代码更改为:
import json
from pprint import pprint
with open('target_groups.json') as f:
data = json.load(f)
arn_list = []
if 'TargetGroups' in data:
items = data['TargetGroups']
for item in items:
if 'TargetGroupArn' in item:
arn_list.append(item['TargetGroupArn'])
print(arn_list)
else:
print('No data')
有许多方法可以使python代码更加简洁。然而,我更喜欢一种更冗长、更容易阅读的风格
还请注意,此代码检查密钥是否存在,以便代码不会堆叠转储丢失的数据。如果您可以发布您试图从中获取数据的文件,则会更好,但此部分:
for key, val in data.items():
if key == 'TargetGroupArn':
arn_list.append(val)
需要更改为:
for key, val in items.items():
if key == 'TargetGroupArn':
arn_list.append(val)
您从“数据”中获取数据并将其添加到项目中,但您从未实际使用过它。
试一试。如果您可以发布您试图从中获取数据的文件,那会更好,但这部分:
for key, val in data.items():
if key == 'TargetGroupArn':
arn_list.append(val)
需要更改为:
for key, val in items.items():
if key == 'TargetGroupArn':
arn_list.append(val)
您从“数据”中获取数据并将其添加到项目中,但您从未实际使用过它。
试一试。你能提供一个.json文件的片段,以便我们可以复制你所做的事情吗?我删除了AWS标记,因为这个问题与AWS不太相关。你能提供一个.json文件的片段,以便我们可以复制你所做的事情吗?我删除了AWS标记,因为这个问题与AWS不太相关。