Python利用openpyxl带格式统计数据(2)- 处理mysql数据

摘要:
上一篇文章讨论了openpyxl处理excel数据,然后写了另一篇文章处理mysql数据。这仍然是要处理的数据的旧规则、映射和屏幕截图:然后粘贴最终所需统计格式的屏幕截图:第三个代码:1'''2#使用openpyxl将数据写入mysql文章中的excel模板3'''4#write 5importxlw6importxlrd7importppyxl8importpymysql910#首先连接到数据库11database=pym

上一篇些了openpyxl处理excel数据,再写一篇处理mysql数据的,还是老规矩,贴图,要处理的数据截图:

Python利用openpyxl带格式统计数据(2)- 处理mysql数据第1张

再贴最终要求的统计格式截图:

Python利用openpyxl带格式统计数据(2)- 处理mysql数据第2张

第三贴代码:

 1 '''
 2     #利用openpyxl向excel模板写入数据之mysql篇
 3 '''
 4 #写mysql的
 5 import xlwt
 6 import xlrd
 7 import openpyxl
 8 import pymysql
 9 
10 #首先连接数据库
11 database = pymysql.connect('localhost','databaseusername','databasepassword','databasename',charset='utf8')
12 #初始化数据库指针
13 cursor = database.cursor()
14 
15 #定义sql语句
16 sql = "SELECT company, COUNT(company), SUM(weight), SUM(weight * price) FROM tablename GROUP BY company;"
17 #执行sql语句
18 cursor.execute(sql)
19 #将结果保存下来
20 result = cursor.fetchall()
21 print(result) #打印看是否符合预期
22 
23 #取出结构后开始遍历结果
24 for i in result:
25     if i[0] == "张三粮配":
26         a_che = i[1]
27         a_total_weight = i[2]
28         a_total_price = i[3]
29     if i[0] == "李四粮食":
30         b_che = i[1]
31         b_total_weight = i[2]
32         b_total_price = i[3]
33     if i[0] == "王五麦子":
34         c_che = i[1]
35         c_total_weight = i[2]
36         c_total_price = i[3]
37     if i[0] == "赵六麦子专营":
38         d_che = i[1]
39         d_total_weight = i[2]
40         d_total_price = i[3]
41 
42 #导入模板文件
43 tem_excel = openpyxl.load_workbook('路径/统计表_openpyxl.xlsx')
44 tem_sheet = tem_excel['Sheet1']
45 
46 #开始向单元格写入数据
47 #先写张三的,张三的在第三行第二列到第四列
48 tem_sheet['B3'] = a_che
49 tem_sheet['C3'] = a_total_weight
50 tem_sheet['D3'] = a_total_price
51 #再写李四,李四的在第四行第二到第四列
52 tem_sheet['B4'] = b_che
53 tem_sheet['C4'] = b_total_weight
54 tem_sheet['D4'] = b_total_price
55 #再写王五的,王五的在第五行第二到第四列
56 tem_sheet['B5'] = c_che
57 tem_sheet['C5'] = c_total_weight
58 tem_sheet['D5'] = c_total_price
59 #最后些赵六的,赵六的在第六行第二到第四列
60 tem_sheet['B6'] = d_che
61 tem_sheet['C6'] = d_total_weight
62 tem_sheet['D6'] = d_total_price
63 
64 #最后将工作簿另存
65 tem_excel.save('路径/2020-11-04-openpyxl-mysql.xlsx')

最后贴效果图:

Python利用openpyxl带格式统计数据(2)- 处理mysql数据第3张

免责声明:文章转载自《Python利用openpyxl带格式统计数据(2)- 处理mysql数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇计算机是怎样启动的?tableView左滑删除功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Quick BI产品核心功能大图(四):Quick引擎加速十亿数据亚秒级分析

​简介:随着数字化进程的深入,数据应用的价值被越来越多的企业所重视。基于数据进行决策分析是应用价值体现的重要场景,不同行业和体量的公司广泛依赖BI产品制作报表、仪表板和数据门户,以此进行决策分析。 在利用BI产品进行数据分析过程中,数据处理“慢”会为业务带来很多的困扰,可以想象一下: 给老板看的报表加载展示非常慢,有的时候还会崩掉,本想做好向上汇报,但却...

利用ajax获取后端数据存放入前端(.html文件)页面<td></td>中

1. 针对的问题: 由于便捷高效,大部分前端采用jsp,但仍存在前端页面为index.html文件,所以,对于前后端数据的传送及显示有一定的问题。 2. 解决办法: 声明:本人前端页面名称index.html,后端产生数据的是servlet层,文件名称为 Pre_sensorServlet.java 需要给以下页面标红的格子里传入由后端获取到的数据(因为项...

RabbitMQ、Kafka、RocketMQ的优劣势

今天我们一起来探讨:  全量的消息队列究竟有哪些?  Kafka、RocketMQ、RabbitMQ的优劣势比较  以及消息队列的选型 最全MQ消息队列有哪些 那么目前在业界有哪些比较知名的消息引擎呢?如下图所示 这里面几乎完全列举了当下比较知名的消息引擎,包括:  ZeroMQ  推特的Distributedlog  ActiveMQ:Apach...

CVPixelBuffer的创建 数据填充 以及数据读取

CVPixelBuffer的创建数据填充以及数据读取 CVPixelBuffer 在音视频编解码以及图像处理过程中应用广泛,有时需要读取内部数据,很少的时候需要自行创建并填充数据,下面简单叙述。 创建 创建时调用的方法主要是这个: CVReturn CVPixelBufferCreate(CFAllocatorRef allocator,...

使用Oracle DBLink进行数据库之间对象的访问操作

Oracle中自带了DBLink功能,它的作用是将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象,例如我们新建了一个数据database1,我们需要操作数据库database2中的表,或者我们需要操作远程机器上数据库database3中的表,我们就可以使用dblink这个强大的功能!1、我们如果要创建全局的D...

Layui 数据表格 回显数值过大的字段(Long型数据)导致精度丢失问题

一、问题描述     今天做项目时,使用到了layui的数据表格功能,这里给大家安利一下layui,确实好用,对没有太多前端经验的新手来说(比如我)很友好。   下面开始说问题:我项目后端有一个包含Long型数据的实体类,前端使用layui数据表格,发送ajax请求进行数据回显。   数据表中正确的数据为:         而到了前端layui数据表格里回...