python xlsxwriter创建excel图表的方法

本文实例为大家分享了python xlsxwriter创建excel图表的具体代码,供大家参考,具体内容如

#coding=utf-8
import xlsxwriter
from xlsxwriter.workbook import Workbook
from xlrd.sheet import Sheet 

def demo1():
 import xlsxwriter 

 # 创建excel文件
 workbook = xlsxwriter.Workbook('demo.xlsx')
#  添加worksheet,也可以指定名字
 worksheet = workbook.add_worksheet()
 worksheet = workbook.add_worksheet('Test') 

 #设置第一列的宽度
 worksheet.set_column('A:A', len('hello ')+1) 

 #添加一个加粗格式方便后面使用
 bold = workbook.add_format({'bold': True}) 

 #在A1单元格写入纯文本
 worksheet.write('A1', 'Hello') 

 #在A2单元格写入带格式的文本
 worksheet.write('A2', 'World', bold) 

 #指定行列写入数字,下标从0开始
 worksheet.write(2, 0, 123)
 worksheet.write(3, 0, 123.456) 

 #在B5单元格插入图片
 worksheet.insert_image('B5', 'python-logo.png') 

 workbook.close() 

def charts():
 workbook = xlsxwriter.Workbook('chart_column.xlsx')
 worksheet = workbook.add_worksheet()
 bold = workbook.add_format({'bold': 1}) 

 # 这是个数据table的列
 headings = ['Number', 'Batch 1', 'Batch 2']
 data = [
  [2, 3, 4, 5, 6, 7],
  [10, 40, 50, 20, 10, 50],
  [30, 60, 70, 50, 40, 30],
 ]
 #写入一行
 worksheet.write_row('A1', headings, bold)
 #写入一列
 worksheet.write_column('A2', data[0])
 worksheet.write_column('B2', data[1])
 worksheet.write_column('C2', data[2]) 

 ############################################
 #创建一个图表,类型是column
 chart1 = workbook.add_chart({'type': 'column'}) 

 # 配置series,这个和前面worksheet是有关系的。
#  指定图表的数据范围
 chart1.add_series({
  'name':  '=Sheet1!$B$1',
  'categories': '=Sheet1!$A$2:$A$7',
  'values':  '=Sheet1!$B$2:$B$7',
 })
 chart1.add_series({
  'name':  "=Sheet1!$C$1",
  'categories': '=Sheet1!$A$2:$A$7',
  'values':  '=Sheet1!$C$2:$C$7',
 })
# 配置series的另一种方法
#  #  [sheetname, first_row, first_col, last_row, last_col]
#  chart1.add_series({
#   'name':   ['Sheet1',0,1],
#   'categories': ['Sheet1',1,0,6,0],
#   'values':  ['Sheet1',1,1,6,1],
#      })
#
#
#
#  chart1.add_series({
#   'name':  ['Sheet1', 0, 2],
#   'categories': ['Sheet1', 1, 0, 6, 0],
#   'values':  ['Sheet1', 1, 2, 6, 2],
#  }) 

#  添加图表标题和标签
 chart1.set_title ({'name': 'Results of sample analysis'})
 chart1.set_x_axis({'name': 'Test number'})
 chart1.set_y_axis({'name': 'Sample length (mm)'}) 

 # 设置图表风格
 chart1.set_style(11)  

 # 在D2单元格插入图表(带偏移)
 worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) 

 #######################################################################
 #
 # 创建一个叠图子类型
 chart2 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'}) 

 # Configure the first series.
 chart2.add_series({
  'name':  '=Sheet1!$B$1',
  'categories': '=Sheet1!$A$2:$A$7',
  'values':  '=Sheet1!$B$2:$B$7',
 }) 

 # Configure second series.
 chart2.add_series({
  'name':  '=Sheet1!$C$1',
  'categories': '=Sheet1!$A$2:$A$7',
  'values':  '=Sheet1!$C$2:$C$7',
 }) 

 # Add a chart title and some axis labels.
 chart2.set_title ({'name': 'Stacked Chart'})
 chart2.set_x_axis({'name': 'Test number'})
 chart2.set_y_axis({'name': 'Sample length (mm)'}) 

 # Set an Excel chart style.
 chart2.set_style(12) 

 # Insert the chart into the worksheet (with an offset).
 worksheet.insert_chart('D18', chart2, {'x_offset': 25, 'y_offset': 10}) 

 #######################################################################
 #
 # Create a percentage stacked chart sub-type.
 #
 chart3 = workbook.add_chart({'type': 'column', 'subtype': 'percent_stacked'}) 

 # Configure the first series.
 chart3.add_series({
  'name':  '=Sheet1!$B$1',
  'categories': '=Sheet1!$A$2:$A$7',
  'values':  '=Sheet1!$B$2:$B$7',
 }) 

 # Configure second series.
 chart3.add_series({
  'name':  '=Sheet1!$C$1',
  'categories': '=Sheet1!$A$2:$A$7',
  'values':  '=Sheet1!$C$2:$C$7',
 }) 

 # Add a chart title and some axis labels.
 chart3.set_title ({'name': 'Percent Stacked Chart'})
 chart3.set_x_axis({'name': 'Test number'})
 chart3.set_y_axis({'name': 'Sample length (mm)'}) 

 # Set an Excel chart style.
 chart3.set_style(13) 

 # Insert the chart into the worksheet (with an offset).
 worksheet.insert_chart('D34', chart3, {'x_offset': 25, 'y_offset': 10})
 #生成圆饼图
 chart4 = workbook.add_chart({'type':'pie'})
 #定义数据
 data = [
   ['Pass','Fail','Warn','NT'],
   [333,11,12,22],
   ]
 #写入数据
 worksheet.write_row('A51',data[0],bold)
 worksheet.write_row('A52',data[1]) 

 chart4.add_series({
  'name':   '接口测试报表图',
  'categories': '=Sheet1!$A$51:$D$51',
  'values':  '=Sheet1!$A$52:$D$52',
  'points':[
   {'fill':{'color':'#00CD00'}},
   {'fill':{'color':'red'}},
   {'fill':{'color':'yellow'}},
   {'fill':{'color':'gray'}},
     ],
 })
 # Add a chart title and some axis labels.
 chart4.set_title ({'name': '接口测试统计'})
 chart4.set_style(3)
#  chart3.set_y_axis({'name': 'Sample length (mm)'}) 

 worksheet.insert_chart('E52', chart4, {'x_offset': 25, 'y_offset': 10})
 workbook.close()
if __name__ == '__main__':
#  demo1()
 charts()
 print('finished...')
 pass 

效果如下

参考文档:

https://pypi.python.org/pypi/XlsxWriter

python使用xlsxwriter打造excel周报日周的统计图表

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python调用xlsxwriter创建xlsx的方法

    详细的官方文档可见:http://xlsxwriter.readthedocs.io/ 通过pip安装xlsxwriter pip install xlsxwriter 下面进行基本的操作演示: 1. 首先创建一个excel的文档 workbook = xlsxwriter.Workbook(dir) 2. 在文档中创建表 table_name = 'sheet1' worksheet = workbook.add_worksheet(table_name) # 创建一个表名为'sheet1'的

  • windows下安装Python的XlsxWriter模块方法

    在windows环境下安装python的XlsxWriter模块,虽然很简单,但由于自己粗心,少了一个字符,导致不少的错误... 1.通过pip命令来安装. C:\Users\Administrator>pip install XlsWriter Collecting XlsWriter Could not find a version that satisfies the requirement XlsWriter (from versions: ) No matching distribut

  • Python中XlsxWriter模块简介与用法分析

    本文实例讲述了Python中XlsxWriter模块用法.分享给大家供大家参考,具体如下: XlsxWriter,可以生成excel文件(xlsx的哦),然后很重要的一点就是,它不仅仅只是生成数据,还能插入直方图,饼图-.,使用条件格式,合并单元格等等这些操作.话不多说,先上图,在上例子哈! 以直方图为例子哈 生成文体效果如下 代码解析 # -*- coding: cp936 -*- import xlsxwriter workbook = xlsxwriter.Workbook('chart_

  • python使用xlsxwriter实现有向无环图到Excel的转换

    本程序将使用字典来构建有向无环图,然后遍历图将其转换为对应的Excel文件 最终结果如下: 代码: (py3) [root@7-o-1 py-dag]# cat test.py from dag import DAG dag = DAG() dag.from_dict({'a': ['b', 'c','e'], 'b': ['d','g'], 'c': ['d'], 'g':['i'], 'i':[], 'e':['gh','ox','wer'], 'gh':[], 'ox':[], 'wer'

  • python操作excel的包(openpyxl、xlsxwriter)

    本文为大家分享了python操作excel的包,供大家参考,具体内容如下 现在支持python操作excel的包有下列这些 官网上最推荐的是openpyxl,其他包支持较老的excel版本. xlsxwriter无法对打开的excel进行写操作,excel必须处于关闭状态才能写成功. xlswriter 基本代码: import xlsxwriter workbook = xlsxwriter.Workbook('hello.xlsx') worksheet = workbook.add_wor

  • python XlsxWriter模块创建aexcel表格的实例讲解

    安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍: 1.简单使用excel的实例: #coding:utf-8 import xlsxwriter workbook = xlsxwriter.Workbook('d:\\suq\\test\\demo1.xlsx') #创建一个excel文件 worksheet = workbook.add_worksheet('TEST') #在文件中创建一个名为TEST的shee

  • Python XlsxWriter模块Chart类用法实例分析

    本文实例讲述了Python XlsxWriter模块Chart类用法.分享给大家供大家参考,具体如下: 一 点睛 Chart类是XlsxWriter模块中图表组件的基类,支持的图表类型包括面积.条形图.柱形图.折线图.饼图.散点图.股票和雷达等,一个图表对象是通过Workbook(工作簿)的add_chart方法创建,通过 {type,'图表类型'}字典参数指定图表的类型,语句如下: chart = workbook.add_chart({type, 'column'}) #创建一个column

  • python操作excel的方法(xlsxwriter包的使用)

    本文介绍python操作excel的方法(xlsxwriter包的使用),具体内容如下 xlsxwriter包的安装 pip install xlsxwriter Workbook类 创建一个excel文件 filename = "test.xlsx" # Workbook代表整个电子表格文件,并且存储在磁盘上.filename为字符串类型,表示创建的excel文件存储路径: wb = xlsxwriter.Workbook(filename) 创建一个sheet表:add_works

  • Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】

    本文实例讲述了Python实现定制自动化业务流量报表周报功能.分享给大家供大家参考,具体如下: 一 点睛 本次实践通过定制网站5个频道的流量报表周报,通过XlsxWriter 模块将流量数据写入Excel文档,同时自动计算各频道周平均流量,再生成数据图表.具体是通过workbook.add_chart({'type':'column'})方 法指定图表类型为柱形,使用write_row.write_column方法分别以行. 列方式写入数据,使用add_format()方法定制表头.表体的显示风

  • python xlsxwriter库生成图表的应用示例

    xlsxwriter可能用过的人并不是很多,不过使用后就会感觉,他的功能让你叹服,除了可以按要求生成你所需要的excel外 还可以加上很形象的各种图,比如柱状图.饼图.折线图等. xlsxwriter 基本用法,创建 xlsx 文件并添加数据 官方文档:http://xlsxwriter.readthedocs.org/ xlsxwriter 可以操作 xls 格式文件 注意:xlsxwriter 只能创建新文件,不可以修改原有文件.如果创建新文件时与原有文件同名,则会覆盖原有文件 Linux

  • 对python中的xlsxwriter库简单分析

    一.xlsxwriter 基本用法,创建 xlsx 文件并添加数据 官方文档:http://xlsxwriter.readthedocs.org/ xlsxwriter 可以操作 xls 格式文件 注意:xlsxwriter 只能创建新文件,不可以修改原有文件.如果创建新文件时与原有文件同名,则会覆盖原有文件 Linux 下安装: sudo pip install XlsxWriter Windows 下安装: pip install XlsxWriter # coding=utf-8 from

随机推荐