对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类中super()和__init__()的区别
Oct 18 Python
Python使用当前时间、随机数产生一个唯一数字的方法
Sep 18 Python
python函数式编程学习之yield表达式形式详解
Mar 25 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
python开发准备工作之配置虚拟环境(非常重要)
Feb 11 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
python实现邮件发送功能
Aug 10 Python
python随机生成库faker库api实例详解
Nov 28 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Python之字典对象的几种创建方法
Sep 30 Python
Python模拟键盘输入自动登录TGP
Nov 27 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
smarty实例教程
2006/11/19 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP 类与构造函数解析
2017/02/06 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
详解redux异步操作实践
2018/08/15 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
详解Vite的新体验
2021/02/22 Javascript
python插入排序算法实例分析
2015/07/03 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
python numpy 反转 reverse示例
2019/12/04 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
python 带时区的日期格式化操作
2020/10/23 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
女娲补天教学反思
2014/02/05 职场文书
课外访万家心得体会
2014/09/03 职场文书
2015年调度员工作总结
2015/04/30 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
用php如何解决大文件分片上传问题
2021/07/07 PHP