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的id()函数解密过程
Dec 25 Python
Python实现全角半角转换的方法
Aug 18 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
pyqt5简介及安装方法介绍
Jan 31 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
Python基于opencv调用摄像头获取个人图片的实现方法
Feb 21 Python
python3中property使用方法详解
Apr 23 Python
Python的log日志功能及设置方法
Jul 11 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
python numpy实现rolling滚动案例
Jun 08 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
AngularJS中一般函数参数传递用法分析
2016/11/22 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
python实现博客文章爬虫示例
2014/02/26 Python
Python转换HTML到Text纯文本的方法
2015/01/15 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
详解python实现线程安全的单例模式
2018/03/05 Python
Python发展简史 Python来历
2019/05/14 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
英文求职信范文
2014/05/23 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
婚宴致辞
2015/07/28 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript