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的Supervisor进行进程监控以及自动启动
May 29 Python
python中的常量和变量代码详解
Jul 25 Python
python用plt画图时,cmp设置方法
Dec 13 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
Python字典fromkeys()方法使用代码实例
Jul 20 Python
python实现人性化显示金额数字实例详解
Sep 25 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 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中的CMS的涵义
2007/03/11 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
简历的自我评价
2014/02/03 职场文书
高中教师评语大全
2014/04/25 职场文书
运动会宣传口号
2014/06/09 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
一年级小学生评语大全
2014/12/25 职场文书
会计主管岗位职责
2015/04/02 职场文书
标准发言稿结尾
2019/07/18 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
Vue的生命周期一起来看看
2022/02/24 Vue.js
redis数据结构之压缩列表
2022/03/21 Redis
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技