我可以使用以下代码从python的请求模块加载一些天气数据:
from pprint import pprint
import requests
r = requests.get('http://api.openweathermap.org/data/2.5/weather?q=London')
pprint(r.json())
但是我如何实际使用它产生的数据呢?我不能为我的生活找到相关的文档或教程如何做到这一点。这是pprint的输出:
{u'base': u'cmc stations',
u'clouds': {u'all': 0},
u'cod': 200,
u'coord': {u'lat': 42.98, u'lon': -81.23},
u'dt': 1397676977,
u'id': 6058560,
u'main': {u'humidity': 25,
u'pressure': 1024,
u'temp': 278,
u'temp_max': 283.15,
u'temp_min': 275.37},
u'name': u'London',
u'rain': {u'1h': 0.25},
u'snow': {u'3h': 0},
u'sys': {u'country': u'CA',
u'message': 0.0467,
u'sunrise': 1397644810,
u'sunset': 1397693338},
u'weather': [{u'description': u'light rain'
u'icon': u'10d',
u'id': 500,
u'main': u'Rain'}],
u'wind': {u'deg': 168.001, u'speed': 3.52}}
我如何处理列表中的项目?例如,只打印自己的temp,也许将其用作变量。 E.g:
temp = *not sure what to put here*
print temp
答案 0 :(得分:4)
现在你有了结果:
results = r.json()
只需像任何其他Python词典一样访问它:
main = results['main'] # Get the 'main' key's value out of results
temp = main['temp'] # Get the 'temp' key's value out of main
print temp
或更简洁(以及你几乎总是在现实生活中写这个的方式):
print results['main']['temp']