【发布时间】:2012-05-13 13:30:21
【问题描述】:
我正在尝试从 Wunderground API 获取每小时预报,但我的代码返回此错误。
Traceback(最近一次调用最后一次): 文件“weathergraph.py”,第 10 行,在 预测 = parsed_json['hourly_forecast']['FCTTIME']['temp']['english'] TypeError: 列表索引必须是整数,而不是 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)
预测 = parsed_json['hourly_forecast']['FCTTIME']['temp']['english']
f.close()
parsed_json = http://pastie.org/3905346
【问题讨论】:
-
在
forecast =行的某个时刻,您访问的是列表,而不是字典。您应该将该行分成四行,并准确确定是哪个实例导致了异常。 -
好的,现在如何在 Python 中访问 json 列表?以及如何区分 JSON 本身?
-
经过一些测试,这可行:forecast = parsed_json['hourly_forecast']。但这不是:forecast = parsed_json['hourly_forecast']['FCTTIME']。所以 FCCTTIME 和接下来的一切都是奇怪的吗?那我该如何处理呢?
-
在分配 parsed_json 后立即添加行 print parsed_json。在您的问题中发布该输出,我们将能够告诉您如何提取信息。
-
完成。把它放在馅饼里。
标签: python api wunderground