Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】


Posted in Python onMarch 11, 2019

本文实例讲述了Python实现定制自动化业务流量报表周报功能。分享给大家供大家参考,具体如下:

一 点睛

本次实践通过定制网站5个频道的流量报表周报,通过XlsxWriter 模块将流量数据写入Excel文档,同时自动计算各频道周平均流量,再生成数据图表。具体是通过workbook.add_chart({'type':'column'})方 法指定图表类型为柱形,使用write_rowwrite_column方法分别以行、 列方式写入数据,使用add_format()方法定制表头、表体的显示风格,使用add_series()方法将数据添加到图表,同时使用 chart.set_sizeset_titleset_y_axis设置图表的大小及标题属性,最后通 过insert_chart方法将图表插入工作表中。

二 代码

#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],
  [89,88,95,93,98,100,99],
  [201,200,198,175,170,198,195],
  [75,77,78,78,74,70,79],
  [88,85,87,90,93,88,84],
]
format=workbook.add_format()
format.set_border(1)
format_title=workbook.add_format()
format_title.set_border(1)
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',
    'values':   '=Sheet1!$B$'+cur_row+':$H$'+cur_row,
    'line':    {'color': 'black'},
    'name':  '=Sheet1!$A$'+cur_row,
  })
for row in range(2, 7):
  chart_series(str(row))
#chart.set_table()
#chart.set_style(30)
chart.set_size({'width': 577, 'height': 287})
chart.set_title ({'name': u'业务流量周报图表'})
chart.set_y_axis({'name': 'Mb/s'})
worksheet.insert_chart('A8', chart)
workbook.close()

三 显示结果

Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现绘制树枝简单示例
Jul 24 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
详解Python是如何实现issubclass的
Jul 24 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
python 回溯法模板详解
Feb 26 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 Python
Python列表去重复项的N种方法(实例代码)
May 12 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
Django URL参数Template反向解析
Nov 24 Python
python简单实现插入排序实例代码
Dec 16 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 #Python
python使用selenium实现批量文件下载
Mar 11 #Python
利用Python实现微信找房机器人实例教程
Mar 10 #Python
谈谈Python中的while循环语句
Mar 10 #Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 #Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 #Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 #Python
You might like
php 魔术方法使用说明
2009/10/20 PHP
ThinkPHP php 框架学习笔记
2009/10/30 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
Javascript Global对象
2009/08/13 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
python人人网登录应用实例
2014/09/26 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
python使用KNN算法识别手写数字
2019/04/25 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
python 如何调用远程接口
2020/09/11 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
应聘自荐信
2013/12/14 职场文书
厂区绿化方案
2014/05/08 职场文书
村级四风对照检查材料
2014/08/24 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
人事局接收函
2015/01/30 职场文书