欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > python解析各城市历史天气数据

python解析各城市历史天气数据

2024/12/22 1:24:58 来源:https://blog.csdn.net/qq_39463175/article/details/144278086  浏览:    关键词:python解析各城市历史天气数据

1 背景介绍

python解析各城市历史天气数据

2 基本思路

获取原始数据,解析,然后保存到excel表格里面。

以浙江省杭州市西湖区2016年9月到2017年4月的 历史天气数据为例,最终成果如下:
在这里插入图片描述

3 核心代码

对于数据比较少时,可以先保存到文本文档里面(如某一个城市几月到几月),然后解析即可。

import pandas as pd# 读取文本文件并分割成行
with open(r'origin_data_by_line.txt', 'r', encoding='utf-8') as file:    lines = file.readlines()# 将每4行数据合并为一个列表项,每个列表项代表一行表格数据
table_data = [lines[i:i + 7] for i in range(0, len(lines), 7)]# 将列表中的每个四行组转换为单个字符串,并去除空白字符
table_data = [' '.join(group).strip() for group in table_data]# 将数据分割成单独的列,这里假设每行数据之间是用换行符分隔的
# 并且每行内的字段之间是用空格分隔的
columns = table_data[0].split()  # 假设第一行是表头
data = [line.split() for line in table_data[1:]]  # 剩下的是数据行# 创建DataFrame
df = pd.DataFrame(data, columns=columns)# 保存到Excel文件
df.to_excel('output.xlsx', index=False)

r’origin_data_by_line文本文件是从历史天气数据网站copy后的数据,格式为一行一行的文本:

日期
星期
最高气温
最低气温
天气
风向
级别
2016-09-01
星期四
3323℃
阵雨
西南风
42016-09-02
星期五
3422℃
晴
西风
12016-09-03
星期六
3523℃
晴
东风
12016-09-04
星期日
3224℃
多云
东风
3...

如以杭州西湖区2017年4月份为例:
https://m.tianqi.com/lishi/xihu/201704.html
在这里插入图片描述
该数据copy后粘贴,为一行一行的,不能直接使用,需要重新处理后,生成表格才能用。

如果涉及到很多城市,很多历史数据如何处理呢?

很简单,对每一个城市进行遍历,遍历对应的日期,然后解析。这里需要用到爬虫知识,即先解析该网站,获取到对应的web数据,接着从里面逐步解析,最后得到数据。

最核心的解析代码上面已经贴出来了,如果需要完整爬虫爬取某城市的数据,可以在评论区评论,后面笔者有空会更新,还是本科时候写爬虫比较多,如今已经几年没有写爬虫代码了,需要重新弄下环境。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com