新冠疫情数据采集,分析及其可视化
文章目录
前言
面对新冠病毒株可能发生的变异以及传染的不确定性,只有提前防控,精准防控,才能尽可能避免不稳定因素对整个社会甚至整个世界造成的损害采用大数据技术,包括数据的收集、存储、分析、呈现等方面。利用爬虫技术收集数据,同时使用MYSQL做出数据的存储与分析,最终利用pyecharts模块对收集的数据结果进行可视化,生成一个动态分布图,实现呈现各区域的疫情分布的状况。
处理和存储有关此类信息的算法,向人们提供疫情分布的状况和人员的接触程度信息,有助于排查感染人群、迅速切断疫情的传播,减少大量的检测和排查所需的各种资源的使用。提高防疫的工作效率。
一、数据采集与清洗
利用爬虫技术获取数据,用python进行数据处理,连接mysql数据库,最终完成可视化及其分析。
(此处只展示使用python连接mysql数据库的代码)
首先下载mysql并配置到环境两种方法进行数据库的连接分别是 PyMySQL 和 mysql.connector,我们学习 PyMySQL。
操作步骤:
1.连接数据库 conn = pymysql.connect()
2.生成游标对象 curosr = conn.cursor()
3.执行SQL语句 cursor.execute(sql)
4.关闭游标 cursor.close()
5.关闭连接 conn.closr()
6.引入navicat进行数据存储(也可以不用)
实现代码(部分)
db = pymysql.connect(host='localhost',
user='root',
password='123456',
database='wb_in')
cursor = db.cursor() # 获取一个游标
#处理表一国内疫情
sql = "select* from china_in"
cursor.execute(sql)
result = cursor.fetchall() # result为元组
# 将元组数据存进列表中,'省份','累计确诊','死亡','治愈','现有确诊','累计确诊增量','死亡增量','治愈增量','现有确诊增量'
province= []#省份
confirmed=[]#累计确诊
died = []#死亡
crued = []#治愈
curConfirm = []#现有确诊
confirmedRelative = []#累计确诊数量
for i in result:
province.append(i[0])
confirmed.append(i[1])
died.append(i[2])
crued.append(i[3])
print