python xlsxwriter创建excel图表的方法


Posted in Python onJune 11, 2018

本文实例为大家分享了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

效果如下

python xlsxwriter创建excel图表的方法

参考文档:

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

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

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

Python 相关文章推荐
复制粘贴功能的Python程序
Apr 04 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
python中threading超线程用法实例分析
May 16 Python
python轻松查到删除自己的微信好友
Jan 10 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Python设计密码强度校验程序
Jul 30 Python
几款Python编译器比较与推荐(小结)
Oct 15 Python
浅谈Python数学建模之线性规划
Jun 23 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 #Python
django 使用 request 获取浏览器发送的参数示例代码
Jun 11 #Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 #Python
Python 爬取携程所有机票的实例代码
Jun 11 #Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 #Python
Anaconda 离线安装 python 包的操作方法
Jun 11 #Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 #Python
You might like
PHP生成唯一订单号
2015/07/05 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
python连接mongodb集群方法详解
2020/02/13 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
python 实现批量图片识别并翻译
2020/11/02 Python
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
大学生自我鉴定
2013/12/08 职场文书
给导游的表扬信
2014/01/10 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
2014年外联部工作总结
2014/11/17 职场文书
先进个人评语大全
2015/01/04 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
springboot中的pom文件 project报错问题
2022/01/18 Java/Android