python腳本之制作excel表格


#!/usr/bin/python
#coding=utf-8

#導入模塊
import xlsxwriter

#新建一個表文件
workbook = xlsxwriter.Workbook('sample.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('centor')
format_title.set_blod()

format_ave=workbook.add_format()
format_ave.set_border(1)
format_ave.set_num_format('0.00')

#插入數據

worksheet.write_row('A1',title)
worksheet.write_column('A2',buname)
worksheet.write_row('B2',data[0])
worksheet.write_row('B3',data[1])
worksheet.write_row('B4',data[2])
worksheet.write_row('B5',data[3])
worksheet.write_row('B6',data[4])


#定義圖表數據系列函數

def chart_series(cur_now):
worksheet.write_formula('I'+cur_now, \
'=AVERAGE(B'+cur_now+':H'+cur_now+')','format_ave')#計算平均值

chart.add_series({
'categories':'=Sheet1!$B$1:$H$1', #B1至H1元素作為x軸
'values':'=Sheet1!$B$'+cur_now+':H'+cur_now, #從B2-H2開始,每一行作為數據
'line':{'color':'#cccccc'}, #線條顏色
'name':'=Sheet1!$A$'+cur_now, #引用A列作為數值類型
})

for row in range(2,7):
chart_series(str(row))

chart.set_size({'width':577,'height':277})
chart.set_title({'name':u'業務流量周報報表'})
chart.set_y_axis({'name':'MB/s'})

worksheet.insert_chart('A8',chart)
workbook.close()

 

 

 

excel表格效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM