Python大屏看板最全教程之数据库连接

阅读本文大约需要3分钟
主要内容:数据分析。
适用人群:Python初学者,数据分析师,或有志从事数据分析工作的人员。
准备软件:Anaconda(Spyder:代码编译)、NavicatPremium12(数据库)。
此图来自于网络,侵删
从事IT项目管理这么多年,基本上已经遗弃编程技能,但从2019年开始接触Python,深深地迷上了这门语言,像硬件集成、数据分析,我都会用python来写。晓风想通过本文,让初学者们学会以下内容:
1、Pyecharts图表;
2、连接数据库;
3、大屏看板-监控中心。
今天,我们讲2、连接数据库
接上文,还是以柱状图为例。链接:
1、首先,我们打开Navicat,“文件-新建连接-MYSQL”,我这边起名新连接为“datacenter”,点击右键,新建数据库“warehouse_input”(名字可以自己起)
2、建完数据库,我们来建自己的数据库表,保存
3、点击该表,维护一些测试数据,完成数据库内容的创建
4、回到Anaconda-Spyder,打开之前编写的图表文件或新建文件,我们先把柱状图的代码修改为函数形式
frompyechartsimportoptionsasoptsfrompyecharts.chartsimportBar,Pageimportpymysqldefbar(cos):#柱状图c=(Bar(init_opts=opts.InitOpts(bg_color=“white”)).add_xaxis(costomer).add_yaxis(“订单数量”,quantity).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(“客户订单数量”),datazoom_opts=opts.DataZoomOpts(is_show=True,range_start=0,range_end=100),toolbox_opts=opts.ToolboxOpts(orient=“vertical”,pos_left=“90%”,feature=opts.ToolBoxFeatureOpts(data_zoom=opts.ToolBoxFeatureDataZoomOpts(is_show=False)))))returnc
5、添加importpymysql(连接数据库需要),fromoperatorimportitemgetter(将数据参数化时需要),这里我想呈现各客户的订单数量,那么SQL语句和连接数据库的代码如下
importpymysqlfromoperatorimportitemgetterdb=pymysql.connect(host=“localhost”,user=“root”,password=“123456”,database=“warehouse_input”)sql=“selectcustomer_name,sum(cloth_quantity)ASnumsfrompoGROUPBYcustomer_name”try:cursor=db.cursor()cursor.execute(sql)cos=cursor.fetchall()exceptExceptionase:db.rollback()print(‘事物处理失败’,e)else:db.commit()print(‘事物处理成功’,cos)cursor.close()db.close()
6、接下来我们结合柱状图函数和数据库连接的内容,加入page函数
frompyechartsimportoptionsasoptsfrompyecharts.chartsimportBar,Pageimportpymysqlfromoperatorimportitemgetterdefbar(cos):#柱状图costomer=list(map(itemgetter(0),cos))quantity=list(map(itemgetter(1),cos))c=(Bar(init_opts=opts.InitOpts(bg_color=“white”)).add_xaxis(costomer).add_yaxis(“订单数量”,quantity).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(“客户订单数量”),datazoom_opts=opts.DataZoomOpts(is_show=True,range_start=0,range_end=100),toolbox_opts=opts.ToolboxOpts(orient=“vertical”,pos_left=“90%”,feature=opts.ToolBoxFeatureOpts(data_zoom=opts.ToolBoxFeatureDataZoomOpts(is_show=False)))))returncdb=pymysql.connect(host=“localhost”,user=“root”,password=“123456”,database=“warehouse_input”)sql=“selectcustomer_name,sum(cloth_quantity)ASnumsfrompoGROUPBYcustomer_name”try:cursor=db.cursor()cursor.execute(sql)cos=cursor.fetchall()exceptExceptionase:db.rollback()print(‘事物处理失败’,e)else:db.commit()print(‘事物处理成功’,cos)cursor.close()db.close()page=Page()page.add(bar(cos))page.render(“bar.ht
7、最后,我们运行下,看下效果
学习到了这里,我们就可以学会了图表的动态数据呈现。好了,大家赶紧动起来,有空就把所有图表都操作一遍。今天的内容就到这里,下篇文章将会教大家怎么将多个图表布局在一个大屏上,敬请期待。愿我们一起成长!
如果觉得有用的话,请帮忙点赞、关注、收藏哦,感谢您的支持!