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匹配中文的正则表达式
May 11 Python
用pandas按列合并两个文件的实例
Apr 12 Python
Python贪心算法实例小结
Apr 22 Python
python pycurl验证basic和digest认证的方法
May 02 Python
python根据url地址下载小文件的实例
Dec 18 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
Python的in,is和id函数代码实例
Apr 18 Python
django Model层常用验证器及自定义验证器详解
Jul 15 Python
python解压zip包中文乱码解决方法
Nov 27 Python
Python爬虫基础之爬虫的分类知识总结
May 13 Python
Python学习开发之图形用户界面详解
Aug 23 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
调频问题解答
2021/03/01 无线电
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
Joomla开启SEF的方法
2016/05/04 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
javascript实现评分功能
2020/06/24 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
Python中方法链的使用方法
2016/02/23 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
2015小学教师德育工作总结
2015/05/12 职场文书
单位证明范文
2015/06/18 职场文书
债务追讨律师函
2015/06/24 职场文书
小学三年级语文教学反思
2016/03/03 职场文书