700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python爬取天气存入excel_Python接口读取json天气预报数据自动写入到Excel表格

python爬取天气存入excel_Python接口读取json天气预报数据自动写入到Excel表格

时间:2020-08-13 21:43:43

相关推荐

python爬取天气存入excel_Python接口读取json天气预报数据自动写入到Excel表格

之前我的一篇文章:

https://blog..net/zhangphil/article/details/88538112

是把从服务器接口读取到的json天气预报数据画制成折线图。现在把从json中的天气预报数据自动写入到Excel表格中。

需要安装Python处理excel表格的库:

pip install openpyxl

程序代码:

import openpyxl

import json

import urllib.request

def get_weather_json_data(city_code):

url = "http://t./api/weather/city/"+city_code

response = urllib.request.urlopen(url)

content = response.read().decode('utf-8')

return content

def get_forecast_data(content):

data = content["data"]

return data["forecast"]

#清洗数据。过滤℃

def get_pure_temperature(temp):

a, b = temp.split()

return b.strip().strip("℃")

#数据写入到Excel。

def write_data_to_excel(date_time, high, low):

wb = openpyxl.load_workbook('test.xlsx')

sheet = wb.get_sheet_by_name(wb.sheetnames[0])

for i in range(1, len(date_time)):

for k in range(1, 4):

c = sheet.cell(column=k, row=i)

if k == 1:

c.value = date_time[i]

if k == 2:

c.value = high[i]

if k == 3:

c.value = low[i]

wb.save('test.xlsx')

#101270101,天气预报中成都的代码。

city_code = '101270101'

content = json.loads(get_weather_json_data(city_code))

data = get_forecast_data(content)

high, low, date_time = [], [], []

for obj in data:

h = obj["high"]

high.append(get_pure_temperature(h))

l = obj["low"]

low.append(get_pure_temperature(l))

date_time.append(obj["ymd"])

write_data_to_excel(date_time, high, low)

运行结果如下所示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。