Python JSON TypeError:列表索引必须是整数,而不是str
我想从JSON中提取一些数据,但我不知道结果如何。它响应“TypeError:列表索引必须是整数,而不是str”。 这是我的代码,谢谢:Python JSON TypeError:列表索引必须是整数,而不是str,python,json,Python,Json,我想从JSON中提取一些数据,但我不知道结果如何。它响应“TypeError:列表索引必须是整数,而不是str”。 这是我的代码,谢谢: import urllib import json url = 'http://python-data.dr-chuck.net/comments_304658.json' data = urllib.urlopen(url).read() info = json.loads(data) #print json.dumps(info,indent=4) lst
import urllib
import json
url = 'http://python-data.dr-chuck.net/comments_304658.json'
data = urllib.urlopen(url).read()
info = json.loads(data)
#print json.dumps(info,indent=4)
lst = list()
for item in info:
count = item['comments']['count']
count = int(count)
lst.append(count)
print sum(lst)
您似乎对返回数据的结构感到困惑。代码假定该结构是两级词典的列表。如果是这种情况,那么您可以找到一个像这样的个人
count
:
info[7]['comments']['count']
它实际上是一本词典,其中一项是词典列表。要查找单个项目,表达式如下所示:
info['comments'][7]['count']
因此,如果我们想迭代列表,我们需要迭代info['comments']
试试这个:
import urllib
import json
url = 'http://python-data.dr-chuck.net/comments_304658.json'
data = urllib.urlopen(url).read()
info = json.loads(data)
#print json.dumps(info,indent=4)
lst = list()
for item in info['comments']:
count = item['count']
count = int(count)
lst.append(count)
print sum(lst)
它看起来像是
item
或item['comments']
是一个列表,而不是dict
。它实际上是字符串索引必须是整数。因为项
是一个字符串。