Wunderground API获取每小时预测返回错误。-python

Wunderground API获取每小时预测返回错误。-python,python,api,wunderground,Python,Api,Wunderground,我试图从WundergroundAPI获取每小时的预测,但是我的代码返回了这个错误 回溯(最近一次呼叫最后一次): 文件“weathergraph.py”,第10行,在 forecast=parsed_json['hourly_forecast']['FCTTIME']['temp']['english'] TypeError:列表索引必须是整数,而不是str 这是我的密码 f=urllib2.urlopen('http://api.wunderground.com/api/mykey/hour

我试图从WundergroundAPI获取每小时的预测,但是我的代码返回了这个错误

回溯(最近一次呼叫最后一次): 文件“weathergraph.py”,第10行,在 forecast=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_字符串)

forecast=parsed_json['hourly_forecast']['FCTTIME']['temp']['english']

f、 关闭()

parsed_json=

1)hourly_forecast的值是一个dict列表,而不是dict。列表中大约有36个

2) temp不是FCTTIME的一个元素。他们处于同一水平

这不应产生错误:

forecast = parsed_json['hourly_forecast'][-1]['temp']['english'] 
看起来列表是按时间顺序排列的,所以最后一个是最新的。检查FCTTIME的内容将告诉您它是否与上次阅读时不同。

1)小时预测值是一个dict列表,而不是dict。列表中大约有36个

2) temp不是FCTTIME的一个元素。他们处于同一水平

这不应产生错误:

forecast = parsed_json['hourly_forecast'][-1]['temp']['english'] 

看起来列表是按时间顺序排列的,所以最后一个是最新的。检查FCTTIME的内容将告诉您它是否与上次阅读时不同。

forecast=
行的某个点上,您正在访问列表,而不是词典。您应该将该行分成四行,并确定到底是哪个实例导致了异常?那么我该如何区分JSON本身的区别呢?经过一些测试,这是可行的:forecast=parsed_JSON['hourly_forecast']。但事实并非如此:forecast=parsed_json['hourly_forecast']['FCTTIME']。那么FCCTTIME和接下来的一切都是奇怪的?那么我该如何处理呢?在分配parsed_json之后添加print parsed_json行。在您的问题中发布该输出,我们将能够告诉您如何提取信息。完成。在
forecast=
行的某个点上,您访问的是列表,而不是字典。您应该将该行分成四行,并确定到底是哪个实例导致了异常?那么我该如何区分JSON本身的区别呢?经过一些测试,这是可行的:forecast=parsed_JSON['hourly_forecast']。但事实并非如此:forecast=parsed_json['hourly_forecast']['FCTTIME']。那么FCCTTIME和接下来的一切都是奇怪的?那么我该如何处理呢?在分配parsed_json之后添加print parsed_json行。在您的问题中发布该输出,我们将能够告诉您如何提取信息。完成。把它放在一个馅饼里-1,那是干什么用的?谢谢。[-1]给出了列表的最后一个元素。谢谢。都弄明白了-1,那是干什么的?谢谢。[-1]给出了列表的最后一个元素。谢谢。把一切都弄明白了。