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中的文件和目录操作实现代码
Mar 13 Python
Python3遍历目录树实现方法
May 22 Python
Python MySQL数据库连接池组件pymysqlpool详解
Jul 07 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
python3.4控制用户输入与输出的方法
Oct 17 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
python将音频进行变速的操作方法
Apr 08 Python
python 实现音频叠加的示例
Oct 29 Python
python中的插入排序的简单用法
Jan 19 Python
如何在C++中调用Python
May 21 Python
Python实现视频自动打码的示例代码
Apr 08 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
BBS(php & mysql)完整版(三)
2006/10/09 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
毕业生如何写自荐信
2014/03/26 职场文书
经典演讲稿开场白
2014/08/25 职场文书
售房委托书
2014/08/30 职场文书
2015年教学管理工作总结
2015/05/20 职场文书