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缩进区别分析
Feb 15 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
python多维数组切片方法
Apr 13 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
Django 实现图片上传和显示过程详解
Jul 18 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
python的help函数如何使用
Jun 11 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
Python 远程开关机的方法
Nov 18 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 Python
Python+pyaudio实现音频控制示例详解
Jul 23 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/12/04 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
js实现随机8位验证码
2020/07/24 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
Python实现抢购IPhone手机
2018/02/07 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
python__new__内置静态方法使用解析
2020/01/07 Python
jupyter notebook清除输出方式
2020/04/10 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
Linux文件操作命令都有哪些
2015/02/27 面试题
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
社团招新宣传语
2015/07/13 职场文书
安全责任协议书范本
2016/03/23 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
vue实现简易音乐播放器
2022/08/14 Vue.js