我正在尝试从Wunderground API获取每小时预测,但我的代码会返回此错误。
追踪(最近一次通话): 文件“weathergraph.py”,第10行,in forecast = parsed_json ['hourly_forecast'] ['FCTTIME'] ['temp'] ['english'] TypeError:list indices必须是整数,而不是str
这是我的代码。
F = urllib2.urlopen( 'http://api.wunderground.com/api/mykey/hourly/q/NY/New_York_City.json')
json_string = f.read()
parsed_json = json.loads(json_string)
forecast = parsed_json ['hourly_forecast'] ['FCTTIME'] ['temp'] ['english']
f.close()
parsed_json = http://pastie.org/3905346
答案 0 :(得分:3)
1)hourly_forecast的值是一个dicts列表,而不是dict。看起来在列表中大约有36个。
2)temp不是FCTTIME的元素。他们处于同一水平
这不应该产生错误:
forecast = parsed_json['hourly_forecast'][-1]['temp']['english']
看起来列表按时间顺序排列,所以最后一个列表是最新的。检查FCTTIME的内容将告诉您它是否与您上次阅读时的内容不同。