本文實例講述了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-8import xlsxwriterworkbook = 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程序設計有所幫助。
新聞熱點
疑難解答