Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能【XlsxWriter模塊】
本文實(shí)例講述了Python實(shí)現(xiàn)定制自動(dòng)化業(yè)務(wù)流量報(bào)表周報(bào)功能。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
本次實(shí)踐通過定制網(wǎng)站5個(gè)頻道的流量報(bào)表周報(bào),通過XlsxWriter 模塊將流量數(shù)據(jù)寫入Excel文檔,同時(shí)自動(dòng)計(jì)算各頻道周平均流量,再生成數(shù)據(jù)圖表。具體是通過workbook.add_chart({'type':'column'})
方 法指定圖表類型為柱形,使用write_row
、write_column
方法分別以行、 列方式寫入數(shù)據(jù),使用add_format()
方法定制表頭、表體的顯示風(fēng)格,使用add_series()
方法將數(shù)據(jù)添加到圖表,同時(shí)使用 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ù)流量周報(bào)圖表'}) 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è)計(jì)有所幫助。
相關(guān)文章
Python+redis通過限流保護(hù)高并發(fā)系統(tǒng)
這篇文章主要介紹了Python+redis通過限流保護(hù)高并發(fā)系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下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)行的代碼引起的一個(gè)Bug
幾個(gè)星期前, 我的同事跑過來, 說發(fā)現(xiàn)一個(gè)奇怪的Bug: 在使用Python的subprocess運(yùn)行子進(jìn)程時(shí), 當(dāng)子進(jìn)程運(yùn)行失敗時(shí)居然沒有拋出錯(cuò)誤!2014-07-07Python辦公自動(dòng)化之將任意文件轉(zhuǎn)為PDF格式
這種把某個(gè)文件轉(zhuǎn)為pdf枯燥無聊的工作,既沒有什么技術(shù)含量又累. 今天辰哥就教大家將任意文件批量轉(zhuǎn)為PDF,這里以日常辦公的word、excel、ppt為例,這三種格式的文件轉(zhuǎn)為PDF.需要的朋友可以參考下2021-06-06Python 使用 attrs 和 cattrs 實(shí)現(xiàn)面向?qū)ο缶幊痰膶?shí)踐
這篇文章主要介紹了Python 使用 attrs 和 cattrs 實(shí)現(xiàn)面向?qū)ο缶幊痰膶?shí)踐,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06