python调用xlsxwriter创建xlsx的方法


Posted in Python onMay 03, 2018

详细的官方文档可见: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'的表,并返回这个表对象

3. 创建表后,就可以在表格上面进行写入操作

worksheet.write_column('A1', 5) # 在A1单元格写入数字5

有时候,我们想修改输入内容的格式,例如设置字体颜色加粗,斜体,日期格式等,这时候,就可以通过使用xlsxwriter提供的格式类。

具体可见:http://xlsxwriter.readthedocs.io/format.html

下面以写入一个粗体的红色的日期类为例

import datetime
# 需要先把字符串格式化成日期
date_time = datetime.datetime.strptime('2017-1-25', '%Y-%m-%d')
# 定义一个格式类,粗体的红色的日期
date_format = workbook.add_format({'bold': True, 'font_color': 'red', 'num_format': 'yyyy-mm-dd'})
# 写入该格式类
worksheet.write_column('A2', date_time, date_format)

4. xlsxwriter支持很多图表格式的插入

具体可以参见:http://xlsxwriter.readthedocs.io/chart.html

这里摘抄一段图标类型的介绍:

excel定义的图分两级类别描述,第一级分别有九大类,如下所示

area: 面积图
bar: 转置直方图
column: 柱状图
line: 直线图
pie: 饼状图
doughnut: 环形图
scatter: 散点图
stock: 股票趋势图
radar: 雷达图

第二级则是描述是否有连线,是否有平滑曲线等细节调整。

area
 stacked
 percent_stacked
bar
 stacked
 percent_stacked
column
 stacked
 percent_stacked
scatter
 straight_with_markers
 straight
 smooth_with_markers
 smooth
radar
 with_markers
 filled

下面举例绘制一个散点图。

chart1 = workbook.add_chart({'type': 'scatter', 'subtype': 'straight'})
chart1.set_title({'name': '图1'})
chart1.add_series({
 'name': '系列1',
 # 集合范围
 'categories': '=sheet1!$A$1:$A$89',
 # 数值范围
 'values': '=sheet1!$B$1:$B$89'),
 # 是否连线
 'line': {'none': True},
 # 默认图格式
 'marker': {'type': 'automatic'},
})
# 设置y轴的范围
chart1.set_y_axis({'max': 1.1, 'min': 0})
chart1.set_size({'x_scale': 2, 'y_scale': 2})
# 把图例插入到表中的C2位置,并且设置横轴偏移量为25,纵轴偏移量为10
worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})

以上这篇

详细的官方文档可见: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'的表,并返回这个表对象

3. 创建表后,就可以在表格上面进行写入操作

worksheet.write_column('A1', 5) # 在A1单元格写入数字5

有时候,我们想修改输入内容的格式,例如设置字体颜色加粗,斜体,日期格式等,这时候,就可以通过使用xlsxwriter提供的格式类。

具体可见:http://xlsxwriter.readthedocs.io/format.html

下面以写入一个粗体的红色的日期类为例

import datetime
# 需要先把字符串格式化成日期
date_time = datetime.datetime.strptime('2017-1-25', '%Y-%m-%d')
# 定义一个格式类,粗体的红色的日期
date_format = workbook.add_format({'bold': True, 'font_color': 'red', 'num_format': 'yyyy-mm-dd'})
# 写入该格式类
worksheet.write_column('A2', date_time, date_format)

4. xlsxwriter支持很多图表格式的插入

具体可以参见:http://xlsxwriter.readthedocs.io/chart.html

这里摘抄一段图标类型的介绍:

excel定义的图分两级类别描述,第一级分别有九大类,如下所示

area: 面积图
bar: 转置直方图
column: 柱状图
line: 直线图
pie: 饼状图
doughnut: 环形图
scatter: 散点图
stock: 股票趋势图
radar: 雷达图

第二级则是描述是否有连线,是否有平滑曲线等细节调整。

area
 stacked
 percent_stacked
bar
 stacked
 percent_stacked
column
 stacked
 percent_stacked
scatter
 straight_with_markers
 straight
 smooth_with_markers
 smooth
radar
 with_markers
 filled

下面举例绘制一个散点图。

chart1 = workbook.add_chart({'type': 'scatter', 'subtype': 'straight'})
chart1.set_title({'name': '图1'})
chart1.add_series({
 'name': '系列1',
 # 集合范围
 'categories': '=sheet1!$A$1:$A$89',
 # 数值范围
 'values': '=sheet1!$B$1:$B$89'),
 # 是否连线
 'line': {'none': True},
 # 默认图格式
 'marker': {'type': 'automatic'},
})
# 设置y轴的范围
chart1.set_y_axis({'max': 1.1, 'min': 0})
chart1.set_size({'x_scale': 2, 'y_scale': 2})
# 把图例插入到表中的C2位置,并且设置横轴偏移量为25,纵轴偏移量为10
worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})

以上这篇python调用xlsxwriter创建xlsx的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的高级数据结构详解
Mar 27 Python
RC4文件加密的python实现方法
Jun 30 Python
在Django中创建第一个静态视图
Jul 15 Python
基于Python socket的端口扫描程序实例代码
Feb 09 Python
python实现简单的文字识别
Nov 27 Python
浅谈Pycharm中的Python Console与Terminal
Jan 17 Python
Django实现学生管理系统
Feb 26 Python
提升python处理速度原理及方法实例
Dec 25 Python
Python-openCV读RGB通道图实例
Jan 17 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Python进程池与进程锁之语法学习
Apr 11 Python
Python基于opencv的图像压缩算法实例分析
May 03 #Python
python实现数据导出到excel的示例--普通格式
May 03 #Python
python操作xlsx文件的包openpyxl实例
May 03 #Python
对Python字符串中的换行符和制表符介绍
May 03 #Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 #Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 #Python
Python 解决中文写入Excel时抛异常的问题
May 03 #Python
You might like
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php设计模式 Adapter(适配器模式)
2011/06/26 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
下载给定网页上图片的方法
2014/02/18 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Django 框架模型操作入门教程
2019/11/05 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
联想德国官网:Lenovo Germany
2018/07/04 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
数控专业大学生的自我鉴定
2013/11/13 职场文书
行政内勤岗位职责
2014/04/07 职场文书
寒山寺导游词
2015/02/03 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书