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里disconnect UDP套接字的方法
Apr 23 Python
python模拟登录并且保持cookie的方法详解
Apr 04 Python
Python中利用xpath解析HTML的方法
May 14 Python
实例讲解Python爬取网页数据
Jul 08 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
Python Flask框架模板操作实例分析
May 03 Python
在python里面运用多继承方法详解
Jul 01 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
python hmac模块验证客户端的合法性
Nov 07 Python
python本地文件服务器实例教程
May 02 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 Python
Python内置的数据类型及使用方法
Apr 13 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
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
详解django.contirb.auth-认证
2018/07/16 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
pandas 层次化索引的实现方法
2019/07/06 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
文艺演出策划方案
2014/06/07 职场文书
节能环保口号
2014/06/12 职场文书
倡导文明标语
2014/06/16 职场文书
家长学校培训材料
2014/08/20 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
材料采购员岗位职责
2015/04/03 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技