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 相关文章推荐
记录Django开发心得
Jul 16 Python
wxpython中利用线程防止假死的实现方法
Aug 11 Python
Python的迭代器和生成器
Jul 29 Python
python中OrderedDict的使用方法详解
May 05 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
Python之用户输入的实例
Jun 22 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
Python中zip()函数的简单用法举例
Sep 02 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
Python面试不修改数组找出重复的数字
May 20 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
2006/10/09 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
python实现简单登陆系统
2018/10/18 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
Python之指数与E记法的区别详解
2019/11/21 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
Servlet方面面试题
2016/09/28 面试题
电气自动化个人求职信范文
2014/02/03 职场文书
诚实守信演讲稿
2014/09/01 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
Win11软件图标固定到任务栏
2022/04/19 数码科技