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实现识别相似图片小结
Feb 22 Python
Python+tkinter使用80行代码实现一个计算器实例
Jan 16 Python
Python3中的json模块使用详解
May 05 Python
Python切片操作深入详解
Jul 27 Python
opencv与numpy的图像基本操作
Mar 08 Python
Python发送邮件的实例代码讲解
Oct 16 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
Python enumerate() 函数如何实现索引功能
Jun 29 Python
Python实现一个论文下载器的过程
Jan 18 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 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
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
React 实现车牌键盘的示例代码
2019/12/20 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
js实现随机点名功能
2020/12/23 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python docx库用法示例分析
2019/02/16 Python
django 环境变量配置过程详解
2019/08/06 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
pycharm安装及如何导入numpy
2020/04/03 Python
python初步实现word2vec操作
2020/06/09 Python
python和php学习哪个更有发展
2020/06/17 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
公司门卫岗位职责
2014/03/15 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
校长个人总结
2015/03/03 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
党纪处分决定书
2015/06/24 职场文书
诉讼和解协议书
2016/03/23 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
Python中递归以及递归遍历目录详解
2021/10/24 Python
索尼ICF-5900W收音机测评
2022/04/24 无线电