对python生成业务报表的实例详解


Posted in Python onFebruary 03, 2019

本文介绍一个用python结合xlsxwriter自动生成业务报表的程序。这里的业务数据采用的是指定的值,真实情况下需要其他程序来接入数据。

# -*- coding: utf-8 -*-

import xlsxwriter

workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()

# 指定类型为柱状图
chart = workbook.add_chart({'type': 'column'})

title = [u'业务名称',u'星期一',u'星期二',u'星期三',u'星期四',u'星期五',u'星期六',u'星期日',u'平均流量']
buname= [u'官网',u'直播',u'购物',u'视频',u'下载']

data = [
  [150,152,158,149,155,145,148],
  [189,188,195,193,198,1100,199],
  [201,200,198,175,170,198,195],
  [75,77,78,78,74,70,79],
  [188,85,87,190,93,188,184],
]

# 定义format格式对象
format=workbook.add_format()
# 定义format对象单元格边框加粗1像素
format.set_border(1)

format_title=workbook.add_format()
format_title.set_border(1)
# format_title对象单元格背景色为#cccccc
format_title.set_bg_color('#cccccc')
# 居中格式
format_title.set_align('center')
format_title.set_bold()

format_ave=workbook.add_format()
format_ave.set_border(1)
# 以小数形式显示
format_ave.set_num_format('0.00')

# 以行或列的方式写入数据,同时引用格式
worksheet.write_row('A1',title,format_title)
worksheet.write_column('A2', buname,format)
worksheet.write_row('B2', data[0],format)
worksheet.write_row('B3', data[1],format)
worksheet.write_row('B4', data[2],format)
worksheet.write_row('B5', data[3],format)
worksheet.write_row('B6', data[4],format)

# 定义图表数据系列函数
def chart_series(cur_row):
  worksheet.write_formula('I'+cur_row, \
   '=AVERAGE(B'+cur_row+':H'+cur_row+')',format_ave) # 计算平均值
  chart.add_series({
    'categories': '=Sheet1!$B$1:$H$1', # 将周一到周日作为图标x轴
    'values':   '=Sheet1!$B$'+cur_row+':$H$'+cur_row, # 一周所有数据作为数据区域
    'line':    {'color': 'black'}, # 线条颜色定义为黑色
    'name': '=Sheet1!$A$'+cur_row, # 引用名称为图例
  })

for row in range(2, 7): # 数据以2-6行进行图表数据系列函数调用
  chart_series(str(row))

chart.set_table() # 设置x轴格式
chart.set_style(30) # 设置图表样式

# 设置图表大小
chart.set_size({'width': 577, 'height': 287})
# 设置图表上方标题
chart.set_title ({'name': u'业务流量周报图表'})
# 设置y轴标题
chart.set_y_axis({'name': 'Mb/s'})

# 在A8插入单元格图表
worksheet.insert_chart('A8', chart)
workbook.close()

显示结果如下:

对python生成业务报表的实例详解

以上这篇对python生成业务报表的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
Python实现身份证号码解析
Sep 01 Python
Python中elasticsearch插入和更新数据的实现方法
Apr 01 Python
浅谈python3发送post请求参数为空的情况
Dec 28 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
python matplotlib折线图样式实现过程
Nov 04 Python
pytorch-神经网络拟合曲线实例
Jan 15 Python
Django使用django-simple-captcha做验证码的实现示例
Jan 07 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
使用Python快速制作可视化报表的方法
Feb 03 #Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 #Python
Python告诉你木马程序的键盘记录原理
Feb 02 #Python
Python实现DDos攻击实例详解
Feb 02 #Python
Python实现SQL注入检测插件实例代码
Feb 02 #Python
Django uwsgi Nginx 的生产环境部署详解
Feb 02 #Python
python实现一个简单的udp通信的示例代码
Feb 01 #Python
You might like
PHP $_SERVER详解
2009/01/16 PHP
php 强制下载文件实现代码
2013/10/28 PHP
php去除数组中重复数据
2014/11/18 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
python聊天程序实例代码分享
2013/11/18 Python
对于Python中线程问题的简单讲解
2015/04/03 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
公司接待方案
2014/03/08 职场文书
养生餐厅创业计划书范文
2014/03/26 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
房屋产权证明书
2014/10/15 职场文书
2014年设计师工作总结
2014/11/25 职场文书