Python天气数据分析预测与可视化教学文档

配套教学视频地址:Python天气数据分析预测与可视化项目实战 计算机毕业设计 爬虫 简历项目 复试项目 课程设计 可视化 数据分析 大数据毕业设计_哔哩哔哩_bilibili

安装pycharm、Miniconda和phpenv
我用的是pycharm professional 2022.3.3
B站或者淘宝有安装教程

1. Miniconda的下载和环境的创建

Anaconda的下载地址是:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

1.1 Miniconda的安装

下载完成之后一路下一步安装即可,有两点需要注意:

  • 安装路径不要选在C盘。
  • 添加路径要勾选上。
1.2 Miniconda国内镜像加速

复制下列指令到cmd中执行即可完成加速。

conda config --remove-key channels
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

前端模板下载:

Github:

wz1229238108/weather: 项目使用Python、Flask技术,项目包括天气数据爬取、数据分析、预测与可视化。该系统包括实时天气和历史天气数据可视化,地区热力图等。 运用Python爬虫技术爬取气象网站得到气象数据,将数据存储至MySQL数据库。大概150000条数据。 使用天气网站API预测未来天气情况。此仓库为B站项目实战教学视频配套模板素材库。 (github.com)

Gitee

weather: 项目使用Python、Flask技术,项目包括天气数据爬取、数据分析、预测与可视化。该系统包括实时天气和历史天气数据可视化,地区热力图等。 运用Python爬虫技术爬取气象网站得到气象数据,将数据存储至MySQL数据库。大概150000条数据。 使用天气网站API预测未来天气情况。 在B站发布项目实战教学视频。 (gitee.com)

 为什么要定义type='no_select'

在定义query函数时,type='no_select'是一个默认参数,用于指示函数的调用者预期的SQL操作类型。这个参数的目的是为了区分两种不同的SQL操作:查询(SELECT)和其他类型的操作(如INSERT、UPDATE、DELETE等)。

type参数的值不是'no_select'时,意味着执行的SQL语句是一个查询操作,函数期望从数据库中获取数据。在这种情况下,函数会调用cursor.fetchall()来获取所有匹配的记录,并将这些记录作为列表返回。

type参数的值是'no_select'时,意味着执行的SQL语句是除了查询以外的其他类型的操作,如插入、更新或删除记录。这些操作通常不返回数据,而是简单地更改数据库的状态。因此,函数不会尝试获取数据,而是返回一个表示操作成功的字符串'数据库语句执行成功'

通过这种方式,query函数可以更加灵活地处理不同的SQL操作,并根据操作类型返回相应的结果。这样的设计可以让函数的使用者根据需要选择是否处理查询结果,同时也简化了函数的实现,因为它不需要为每种类型的SQL操作提供不同的返回值处理逻辑。

用户信息表:

CREATE TABLE users (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL
);

历史天气网站http://lishi.tianqi.com​​​​​​​

headers = {  # 请求标头,通过模拟请求标头以此实现仿人类登录进入网站并获取信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}

历史天气表:

CREATE TABLE lishiweathers (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    城市 VARCHAR(255),
    日期 DATE,
    最高温度 FLOAT,
    最低温度 FLOAT,
    天气 VARCHAR(255),
    风向 VARCHAR(255)
);

实时天气sql插入语句: 

        sql = '''
            INSERT INTO weatherdata (
                城市, 时间, 温度, 体感温度, 天气情况, 
                风力等级, 湿度, 能见度
            ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)
        '''
        values = (
            city_name,
            current_weather_data["obsTime"],
            current_weather_data["temp"],
            current_weather_data["feelsLike"],
            current_weather_data["text"],
            current_weather_data["windScale"],
            current_weather_data["humidity"],
            current_weather_data["vis"],
        )
# 手动创建省份城市的列表
province_cities = {
    '北京': '北京',
    '天津': '天津',
    '河北': '石家庄',
    '山西': '太原',
    '内蒙古': '呼和浩特',
    '辽宁': '沈阳',
    '吉林': '长春',
    '黑龙江': '哈尔滨',
    '上海': '上海',
    '江苏': '南京',
    '浙江': '杭州',
    '安徽': '合肥',
    '福建': '福州',
    '江西': '南昌',
    '山东': '济南',
    '河南': '郑州',
    '湖北': '武汉',
    '湖南': '长沙',
    '广东': '广州',
    '广西': '南宁',
    '海南': '海口',
    '重庆': '重庆',
    '四川': '成都',
    '贵州': '贵阳',
    '云南': '昆明',
    '西藏': '拉萨',
    '陕西': '西安',
    '甘肃': '兰州',
    '青海': '西宁',
    '宁夏': '银川',
    '新疆': '乌鲁木齐',
    '台湾': '台北',
    '香港': '香港',
    '澳门': '澳门',
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值