Python實現(xiàn)定制自動化業(yè)務(wù)流量報表周報功能【XlsxWriter模塊】
本文實例講述了Python實現(xiàn)定制自動化業(yè)務(wù)流量報表周報功能。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
本次實踐通過定制網(wǎng)站5個頻道的流量報表周報,通過XlsxWriter 模塊將流量數(shù)據(jù)寫入Excel文檔,同時自動計算各頻道周平均流量,再生成數(shù)據(jù)圖表。具體是通過workbook.add_chart({'type':'column'})方 法指定圖表類型為柱形,使用write_row、write_column方法分別以行、 列方式寫入數(shù)據(jù),使用add_format()方法定制表頭、表體的顯示風(fēng)格,使用add_series()方法將數(shù)據(jù)添加到圖表,同時使用 chart.set_size、set_title、set_y_axis設(shè)置圖表的大小及標(biāo)題屬性,最后通 過insert_chart方法將圖表插入工作表中。
二 代碼
#coding: utf-8
import xlsxwriter
workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
chart = workbook.add_chart({'type': 'column'})
title = [u'業(yè)務(wù)名稱',u'星期一',u'星期二',u'星期三',u'星期四',u'星期五',u'星期六',u'星期日',u'平均流量']
buname= [u'業(yè)務(wù)官網(wǎng)',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'業(yè)務(wù)流量周報圖表'})
chart.set_y_axis({'name': 'Mb/s'})
worksheet.insert_chart('A8', chart)
workbook.close()
三 顯示結(jié)果

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python操作Excel表格技巧總結(jié)》、《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python+redis通過限流保護(hù)高并發(fā)系統(tǒng)
這篇文章主要介紹了Python+redis通過限流保護(hù)高并發(fā)系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
如何在conda虛擬環(huán)境中配置cuda+cudnn+pytorch深度學(xué)習(xí)環(huán)境
這篇文章主要介紹了如何在conda虛擬環(huán)境中配置cuda+cudnn+pytorch深度學(xué)習(xí)環(huán)境,想在服務(wù)器上配置深度學(xué)習(xí)的環(huán)境,看了很多資料后總結(jié)出來了對于新手比較友好的配置流程,需要的朋友可以參考下2023-03-03
深入分析在Python模塊頂層運(yùn)行的代碼引起的一個Bug
幾個星期前, 我的同事跑過來, 說發(fā)現(xiàn)一個奇怪的Bug: 在使用Python的subprocess運(yùn)行子進(jìn)程時, 當(dāng)子進(jìn)程運(yùn)行失敗時居然沒有拋出錯誤!2014-07-07
Python辦公自動化之將任意文件轉(zhuǎn)為PDF格式
這種把某個文件轉(zhuǎn)為pdf枯燥無聊的工作,既沒有什么技術(shù)含量又累. 今天辰哥就教大家將任意文件批量轉(zhuǎn)為PDF,這里以日常辦公的word、excel、ppt為例,這三種格式的文件轉(zhuǎn)為PDF.需要的朋友可以參考下2021-06-06
Python 使用 attrs 和 cattrs 實現(xiàn)面向?qū)ο缶幊痰膶嵺`
這篇文章主要介紹了Python 使用 attrs 和 cattrs 實現(xiàn)面向?qū)ο缶幊痰膶嵺`,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06

