小编给大家分享一下如何使用Python实现定制自动化业务流量报表周报功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
具体如下:
一 点睛
本次实践通过定制网站5个频道的流量报表周报,通过XlsxWriter 模块将流量数据写入Excel文档,同时自动计算各频道周平均流量,再生成数据图表。具体是通过workbook.add_chart({'type':'column'})
方 法指定图表类型为柱形,使用write_row
、write_column
方法分别以行、 列方式写入数据,使用add_format()
方法定制表头、表体的显示风格,使用add_series()
方法将数据添加到图表,同时使用 chart.set_size、set_title、set_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实现定制自动化业务流量报表周报功能”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。