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 25 Python
Python 多核并行计算的示例代码
Nov 07 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
详解Django中间件执行顺序
Jul 16 Python
python3的输入方式及多组输入方法
Oct 17 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
解决python tkinter界面卡死的问题
Jul 17 Python
基于Python快速处理PDF表格数据
Jun 03 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 Python
Python爬虫之爬取二手房信息
Apr 27 Python
Python OpenCV之常用滤波器使用详解
Apr 07 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中动态HTML的输出技术
2006/10/09 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
js实现动态时钟
2020/03/12 Javascript
react 生命周期实例分析
2020/05/18 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
python生成1行四列全2矩阵的方法
2018/08/04 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
Python如何实现的二分查找算法
2020/05/27 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
2016年春节问候语
2015/11/11 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL