python调用和风天气API获取辽宁省各个市的天气信息并导入到Excel
时间: 2023-10-31 10:04:58 浏览: 66
和风天气python下的api
好的,首先你需要先到和风天气官网上注册账号,并且获取你的API key。然后你需要安装 requests 和 xlwt 库,可以使用以下命令安装:
```
pip install requests
pip install xlwt
```
然后你可以使用以下代码获取辽宁省各个市的天气信息并导入到 Excel:
```python
import requests
import xlwt
# 和风天气API的url和你的API key
url = 'https://free-api.heweather.net/s6/weather/'
key = 'your_api_key'
# 辽宁省各个市的城市代码
city_codes = {
'沈阳': '101070101',
'大连': '101070201',
'鞍山': '101070301',
'抚顺': '101070401',
'本溪': '101070501',
'丹东': '101070601',
'锦州': '101070701',
'营口': '101070801',
'阜新': '101070901',
'辽阳': '101071001',
'盘锦': '101071301',
'铁岭': '101071101',
'朝阳': '101071201',
'葫芦岛': '101071401'
}
# 创建 Excel 文件并添加工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('天气信息')
# 设置表头
header = ['城市', '日期', '天气', '最高温度', '最低温度', '风向', '风力']
for i in range(len(header)):
worksheet.write(0, i, header[i])
# 循环获取每个城市的天气信息并写入 Excel
row = 1
for city, code in city_codes.items():
# 构造 API 请求的参数
payload = {
'location': code,
'key': key
}
# 发送 API 请求并解析返回的 JSON 数据
response = requests.get(url, params=payload)
data = response.json()['HeWeather6'][0]['daily_forecast']
# 写入每个日期的天气信息
for item in data:
worksheet.write(row, 0, city)
worksheet.write(row, 1, item['date'])
worksheet.write(row, 2, item['cond_txt_d'])
worksheet.write(row, 3, item['tmp_max'])
worksheet.write(row, 4, item['tmp_min'])
worksheet.write(row, 5, item['wind_dir'])
worksheet.write(row, 6, item['wind_sc'])
row += 1
# 保存 Excel 文件
workbook.save('liaoning_weather.xls')
```
在代码中,我们首先定义了和风天气API的url和你的API key。然后我们定义了辽宁省各个市的城市代码,并且创建了一个 Excel 文件并添加了一个名为“天气信息”的工作表。接着我们循环获取每个城市的天气信息,并将每个日期的天气信息写入 Excel 文件中。最后我们保存 Excel 文件,完成了导入操作。
阅读全文