安裝模塊 :pip install XlsxWriter
直接直接複製以下代碼 保存文件名爲wuguiyunwei.py
執行:python wuguiyunwei.py
注:可以根據業務需求自行修改所要參數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #!/usr/bin/env python #coding: utf-8 import xlsxwriter
workbook = xlsxwriter.Workbook('wugui.xlsx') #創建一個Excel文件 worksheet = workbook.add_worksheet() #創建一個工作表對象 chart = workbook.add_chart({'type':'column'}) #創建一個圖表對象 #定義數據表開頭列表 title = [u'業務名稱',u'星期一',u'星期二',u'星期三',u'星期四',u'星期五',u'星期六',u'星期日',u'平均流量'] buname = [u'烏龜運維官網',u'烏龜1',u'烏龜2',u'烏龜3',u'烏龜4'] #定義頻道名稱 #定義5頻道一週七天數據列表 data = [ [134,432,348,349,565,435,158], [176,168,94,53,68,700,91], [251,265,154,165,540,154,135], [77,76,75,74,73,73], [81,82,83,84,91,83,82], ] format=workbook.add_format() #定義format格式對象 format.set_border(1) #定義format對象單元格邊框加粗(1像素)的格式
format_title=workbook.add_format() #定義format_title格式對象 format_title.set_border(1) #定義format_title對象單元格邊框加粗(1像素)的格式 format_title.set_bg_color('#cccccc') #定義format_title對象單元格背景顏色爲‘cccccc’的格式 format_title.set_align('center') #定義format_title對象單元格劇中對齊的格式 format_title.set_bold() #定義format_title對象單元格內容加粗的格式
format_ave=workbook.add_format() #定義format_ave格式對象 format_ave.set_border(1) #定義format_ave對象單元格邊框加粗(1像素)的格式 format_ave.set_num_format('0.00') #定義format_ave對象單元格數字類別顯示格式
#下面分別以行或列寫入方式將標題,業務名稱,流量數據寫入起初單元格,同時引用不同格式對象 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) #計算(AVERAGE函數) #頻道周平均流量 chart.add_series({ 'categories':'=Sheet1!$B$1:$H$1', #將“星期一至星期日”作爲圖標數據標籤(X軸) 'values': '=Sheet1!$B$'+cur_row+':$H$'+cur_row, #頻道一週所有數據操作 爲數據區域 'line': {'color':'black'}, #線條顏色定義爲black(黑色) 'name':'Sheet1!$A$'+cur_row, }) for row in range(2,7): #數據域以第2~6行進行圖表數據系列函數調用 chart_series(str(row)) #chart.set_table() #設置X軸表格格式,本示例不啓用 #chart.set_style(30) #設置圖表樣式,本示例不啓用 chart.set_size({'width': 577,'height':287}) #設置圖表大小 chart.set_title({'name': u'業務流量週報報表'}) #設置圖表(上方)大標題 chart.set_y_axis({'name': 'MB/s'}) #設置Y軸(左側)小圖標 worksheet.insert_chart('A8', chart) #在A8單元格插入圖表 workbook.close() #關閉Excel文檔 |
我們的公共號