python-xlsxwriter模块绘制表格

python

python;gutter:true;">#coding: utf-8

import xlsxwriter

workbook=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,179,198,195],

[75,77,78,78,74,70,79],

[88,85,87,90,93,88,84],

]

format=workbook.add_format()

worksheet.write_row('A1',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+')') #计算每行平均值(例如B2:H2)

chart.add_series({ #绘制某一业务周一到周日的流量值

'categories':'=Sheet1!$B$1:$H$1', #图表下面的星期一,星期二

'values': '=Sheet1!$B$'+cur_row+':$H$'+cur_row, #根据每行的内容填充值(例如cur_row是1时,画出星期一对应的业务官网对应值)

'line': {'color':'black'},

'name': '=Sheet1!$A$'+cur_row, #画出的值的名称

})

for row in range(2,7):

print row

chart_series(str(row))

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) #图表的开始位置

workbook.close()

  

以上是 python-xlsxwriter模块绘制表格 的全部内容, 来源链接: utcz.com/z/388536.html

回到顶部