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网络编程之数据传输UDP实例分析
May 20 Python
python list是否包含另一个list所有元素的实例
May 04 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
Python读取YAML文件过程详解
Dec 30 Python
Django分组聚合查询实例分享
Apr 29 Python
python轮询机制控制led实例
May 03 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
Numpy数组的广播机制的实现
Nov 03 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 Python
Python eval函数原理及用法解析
Nov 14 Python
Python系统公网私网流量监控实现流程
Nov 23 Python
PyTorch 如何自动计算梯度
May 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
Access数据库导入Mysql的方法之一
2006/10/09 PHP
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
解析js如何获取css样式
2016/12/11 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
Seajs源码详解分析
2019/04/02 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
python控制台显示时钟的示例
2014/02/24 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
三星美国官网:Samsung美国
2017/02/06 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
通用C#笔试题附答案
2016/11/26 面试题
人事主管岗位职责
2014/01/30 职场文书
思想品德课教学反思
2014/02/10 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
简单的辞职信模板
2015/05/12 职场文书
公司备用金管理制度
2015/08/04 职场文书
运动会主持人开幕词
2016/03/04 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL