zoukankan      html  css  js  c++  java
  • python-xlsxwriter模块绘制表格

    #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()
    

      

  • 相关阅读:
    RTX这种东西究竟有什么价值?
    为什么必须要有需求文档这种东西?
    如何理解环境光?
    文字校对应该怎么校对?
    绑定解绑钝化活化监听器
    ServletRequestLister
    HttpSessionListener
    ServletContextListener知识点
    案例8-站内搜索功能
    案例7-用户名异步校验
  • 原文地址:https://www.cnblogs.com/biaopei/p/8479837.html
Copyright © 2011-2022 走看看