如何在Python中提取多个JSON项?

2024-09-25 08:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经研究了好几个小时了,不知道该怎么做。我有一个JSON数据文件,每个条目有三个类别:deck、description和name。我试着为每个0-99项绘制“name”值,并将数据保存到一个文本文件中。在

Format of json data

我不知道该怎么做。我可以很容易地加载数据,并且可以打印出一个单独的值:


with open('gbdata1.json', 'r') as gbdata1:
    data = json.load(gbdata1)

print(data['results'][0]['name'])

我试着把我需要的数字列表传给它:

^{pr2}$

但上面写着:

TypeError: list indices must be integers or slices, not list

所以我试着创建一个变量,然后用一个forloop和+=操作符来增加变量,但是也没用。我是一个完全的JSON新手,所以如果我忽略了一些非常明显的事情。在


Tags: 数据namejsondata数据文件绘制条目description
1条回答
网友
1楼 · 发布于 2024-09-25 08:25:24

您已经有点偏离了,您需要做的是迭代names列表,并用迭代变量替换硬编码的print(data['results'][0]['name']),如下所示:

names = ['1', '2', '3', '4', '5']
for n in names:
    print(data['results'][n]['name']) # You can access other attributes here

还要注意,JSON键总是string,因此您的names = [1, 2, 3, 4]将不能正常工作,因为它有整数值,您可以将这些元素转换为字符串,或者在for循环中访问JSON之前将它们强制转换为string,如下所示:

^{pr2}$

相关问题 更多 >