在python中从字典中提取数据

时间:2016-01-15 08:35:21

标签: python json list dictionary urllib

我有Dr.Chuck的一个程序来打印这些数据的总和。问题是。 JSON的计数显示" 2"当有很多..

import json
import urllib

url="http://python-data.dr-chuck.net/comments_42.json"
uh = urllib.urlopen(url)
data = uh.read()
print 'Retrieved',len(data),'characters'
print data

info = json.loads(data)
print 'User count:', len(info)

此行print 'User count:', len (info)显示输出为2.当存在大量数据时,因此我只能访问2个数据而不能访问其余数据。

我不知道为什么。我可以解决计数和部分。只是没有明白为什么我只能访问前2个数据,其余的JSON被忽略了。

4 个答案:

答案 0 :(得分:1)

json有两个顶级属性:注释和注释。这就是你得到长度为2的原因。

这可能会给你你想要的东西:

len(info["comments"])

答案 1 :(得分:1)

计算评论数量:

print 'User count:', len(info["comments"])

打印总数"计数":

count = 0
for comment in info["comments"]:
    count += comment["count"]
print 'Total count:', count

答案 2 :(得分:1)

所以,你的json解析为像

一样
{"note":"bla", "comments":[...]}

这个长度应该是2,因为这个dict中只有两个键。正确的做法就是获得评论并对其进行统计。

例如:

len(data.get('comments',[]))

答案 3 :(得分:0)

Json由笔记和评论组成。在评论里面还有另一个对象数组。 如果您想访问该数组,则必须使用此info['comments']然后,如果您想要该数组的长度,则可以使用len(info['comments'])