【发布时间】:2017-07-11 22:59:42
【问题描述】:
import requests
import simplejson as json
from pprint import pprint
url = 'http://api.openweathermap.org/data/2.5/weatherq=london&APPID=3eee8f807f05e481750751ea15da9b80'
response = requests.get(url).json()
pprint(response)
当我在终端中运行此代码时,我得到了
{u'base': u'站', u'clouds':{u'all':1}, 你'鳕鱼':200, u'coord': {u'lat': 29.94, u'lon': -90.35}, u'dt': 1499812500, u'id': 4322034, u'main': {u'湿度': 78, 你'压力':1017, 你'温度':301.58, u'temp_max':302.15, 你'temp_min':300.15}, u'name': u'伦敦', u'sys': {u'country': u'GB', 身份证号码:1184, 你的消息':0.0037, 你的“日出”:1499771353, 你的“日落”:1499821484, 你'类型':1}, u'可见性':16093, u'weather': [{u'description': u'小雨', u'icon': u'10d', 你'id':500, u'main': u'Rain'}, {u'description': u'thunderstorm', u'icon': u'11d', 用户名:211, u'main': u'Thunderstorm'}], u'wind': {u'deg': 191.503, u'speed': 2.17}}
然后我跑
resp_dict = json.loads(response)
从 json 数据中创建一个字典,以便我可以从键中获取数据,但是当我运行时
print(resp_dict['weather'])
或
print(resp_dict['weather'][0])
我只是得到一个 keyerror 0?任何帮助将不胜感激!
如果我只是跑步
print resp_dict
我也得到一个 keyerror 0
提前致谢!
【问题讨论】:
-
你不需要在
response上使用json.loads;.json()已经为您做到了。我不确定这将如何产生KeyError,但请尝试打印response['weather']。 (另外,使用 Python 3。)
标签: python arrays json list dictionary