对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 13 Python
Python中的with...as用法介绍
May 28 Python
python中的字典操作及字典函数
Jan 03 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
如何利用Python识别图片中的文字
May 31 Python
python中os包的用法
Jun 01 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 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内存管理之谁动了我的内存
2013/06/20 PHP
php时间函数用法分析
2016/05/28 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python3爬取淘宝信息代码分析
2018/02/10 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
金士达面试非笔试
2012/03/14 面试题
土地租赁意向书
2014/07/30 职场文书
首席执行官观后感
2015/06/03 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书