从JSON中提取数据
程序将提示输入URL,使用urllib从该URL读取JSON数据,然后从JSON数据中解析并提取注释计数,计算文件中数字的总和。
示例数据:http://python-data.dr-chuck.net/comments_42.json(Sum = 2553)
数据格式 该数据由JSON中的许多名称和注释计数组成,如下所示:
{
comments: [
{
name: "Matthias"
count: 97
},
{
name: "Geomer"
count: 97
}
...
]
}
基本上,json文件读取为字典。字典的第二个元素是一个列表。现在这个列表中有字典。我需要找到他们的价值观。
我被困在的代码是:
import json
import urllib
total = 0
url='http://python-data.dr-chuck.net/comments_42.json'
uh=urllib.urlopen(url).read()
info =json.loads(uh)
for items in info[1]:
#print items
print items[1:]
答案 0 :(得分:0)
你可以尝试:
import json
import urllib
total = 0
url='http://python-data.dr-chuck.net/comments_42.json'
uh=urllib.urlopen(url).read()
info =json.loads(uh)
count_values = [ el['count'] for el in info['comments'] ]
name_values = [ el['name'] for el in info['comments'] ]
print count_values
print name_values
count_values的输出:
[97, 97, 90, 90, 88, 87, 87, 80, 79, 79, 78, 76, 76, 72, 72, 66, 66, 65, 65, 64, 61, 61, 59, 58, 57, 57, 54, 51, 49, 47, 40, 38, 37, 36, 36, 32, 25, 24, 22, 21, 19, 18, 18, 14, 12, 12, 9, 7, 3, 2]
name_values的输出:
[u'Romina', u'Laurie', u'Bayli', u'Siyona', u'Taisha', u'Alanda', u'Ameelia', u'Prasheeta', u'Asif', u'Risa', u'Zi', u'Danyil', u'Ediomi', u'Barry', u'Lance', u'Hattie', u'Mathu', u'Bowie', u'Samara', u'Uchenna', u'Shauni', u'Georgia', u'Rivan', u'Kenan', u'Hassan', u'Isma', u'Samanthalee', u'Alexa', u'Caine', u'Grady', u'Anne', u'Rihan', u'Alexei', u'Indie', u'Rhuairidh', u'Annoushka', u'Kenzi', u'Shahd', u'Irvine', u'Carys', u'Skye', u'Atiya', u'Rohan', u'Nuala', u'Maram', u'Carlo', u'Japleen', u'Breeanna', u'Zaaine', u'Inika']