API请求天气地下

时间:2017-09-24 13:53:38

标签: python python-3.x wunderground

您好我正在尝试使用python 3进行API请求,以便在地下进行简单的天气状况打印,有人可以给我一个提示,我做错了吗?我在这里要学到很多东西,所以学习曲线很陡!对不起,如果问题是超级基本的,那么两者之间使用的代码更好?至少有一个,我可以工作,然后建立......谢谢。以下这两个代码都是我从WU网站获得的示例脚本。 Github上。第一个代码给我一个错误"用于观察数据(['历史'] ['观察']): TypeError:list indices必须是整数或切片,而不是str"

from urllib.request import urlopen
import json

api_key = ""
date = "20170901"
zip_code = "53711"

response = urlopen("http://api.wunderground.com/api/%s/history_%s/q/%s.json" 
% (api_key, date, zip_code))

json_data = response.read().decode('utf-8', 'replace')

data = json.loads(json_data)

for observation in data (['history']['observations']):
     print("Date/Time:    " + observation['date']['pretty'])
     print("Temperature:  " + observation['tempi'])
     print("Humidity:     " + observation['hum'])

这是我第一次尝试API,但它给了我一个错误" TypeError:%支持的操作数类型:' NoneType'和' tuple'"

from urllib.request import urlopen
import json

f = urlopen('http://api.wunderground.com/api//geolookup/conditions/q/IA/Cedar_Rapids.json')

json_string = f.read()

parsed_json = json.loads(json_string)

location = parsed_json['location']['city']

temp_f = parsed_json['current_observation']['temp_f']

print ("Current temperature in %s is: %s") % (location, temp_f)
f.close()

专业人士可以提供有关此类自我教学主题的任何提示非常感谢...我可以从WU看到我的API密钥正在运行......但代码错误:(

1 个答案:

答案 0 :(得分:0)

您在第二个示例中遇到错误的原因是因为它似乎是无效的语法。我认为你所寻找的东西类似于以下内容。

print("this is a %s" % ("my string",))

话虽这么说,我不久前整理了一个包,以帮助开始使用Weather Underground,如果你想看一些指针的话。或者只是点击安装WunderWeather。这是文档。