对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实现打印螺旋矩阵功能的方法
Nov 21 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
python 拼接文件路径的方法
Oct 23 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
Python3操作读写CSV文件使用包过程解析
Apr 10 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
我的论坛源代码(三)
2006/10/09 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
php生成gif动画的方法
2015/11/05 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
js通过循环多张图片实现动画效果
2019/12/19 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
React实现轮播效果
2020/08/25 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
《石榴》教学反思
2014/03/02 职场文书
求职自我推荐信
2015/03/24 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers