python編寫excel週報統計圖表

  1. 安裝模塊 :pip install XlsxWriter
  2. 直接直接複製以下代碼 保存文件名爲wuguiyunwei.py
  3. 執行: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文檔

 

我們的公共號


來自烏龜運維 wuguiyunwei.com


wKioL1lDSq_z5BdSAACeGDQ6kF0764.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章