对python中的xlsxwriter库简单分析


Posted in Python onMay 04, 2018

一、xlsxwriter 基本用法,创建 xlsx 文件并添加数据

官方文档:http://xlsxwriter.readthedocs.org/

xlsxwriter 可以操作 xls 格式文件

注意:xlsxwriter 只能创建新文件,不可以修改原有文件。如果创建新文件时与原有文件同名,则会覆盖原有文件

Linux 下安装: sudo pip install XlsxWriter

Windows 下安装: pip install XlsxWriter

# coding=utf-8
from __future__ import division
import sys
import xlsxwriter
import xlrd
import datetime

output_file = u"D:\\python和shell脚本\\10969的代码\\test.xlsx"
wb = xlsxwriter.Workbook(output_file)
ws = wb.add_worksheet(u"活动标签")
ws.set_column('A:A', 20)
ws.set_column('B:B', 20)
ws.set_column('C:C', 20)
ws.set_column('D:D', 20)

ws.write(2, 0, "123")
wb.close()

二、xlsxwriter 格式处理,将待添加数据转换成相应的格式,添加到 xlsx 文件中

先设置格式,使用方法:workbook.add_format

再指定格式写入,使用方法:worksheet.write_string

#!/usr/bin/python
#coding: utf-8
from datetime import datetime
import xlsxwriter
workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()
#设定格式,等号左边格式名称自定义,字典中格式为指定选项
#bold:加粗,num_format:数字格式
bold_format = workbook.add_format({'bold':True})
money_format = workbook.add_format({'num_format':'$#,##0'})
date_format =workbook.add_format({'num_format':'mmmm d yyyy'})
#将二行二列设置宽度为15(从0开始)
worksheet.set_column(1, 1, 15)
#用符号标记位置,例如:A列1行
worksheet.write('A1', 'Item', bold_format)
worksheet.write('B1', 'Cost', bold_format)
worksheet.write('C1', 'Cost', bold_format)
expenses = (
 ['Rent', '2016-03-11', 1000],
 ['Gad', '2016-03-12', 100],
 ['Food', '2016-03-13', 400],
 ['Gym', '2016-03-14', 50],
)
row = 1
col = 0
for item, date_str, cost in (expenses):
 #将数据格式转化为Python datetime.datetime 格式
 #之后用write_datetime方法录入日期格式
 date = datetime.strptime(date_str, "%Y-%m-%d")
 #使用write_string方法,指定数据格式写入数据
 worksheet.write_string(row, col,  item)
 worksheet.write_datetime(row, col + 1, date, date_format)
 worksheet.write_number(row, col + 2, cost, money_format)
 row += 1
worksheet.write(row, 0, 'Total',  bold_format)
worksheet.write(row, 1, '=SUM(B2:B5)', money_format)
workbook.close()

三、xlsxwriter 添加表格,在 xlsx 文件中添加表格

#!/usr/bin/python
#coding: utf-8
import xlsxwriter
workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
#新建图标对象
chart = workbook.add_chart({'type': 'column'})
#向 excel 中写入数据,建立图标时要用到
data = [
 [1, 2, 3, 4, 5],
 [2, 4, 6, 8, 10],
 [3, 6, 9, 12, 15],
]
worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])
worksheet.write_column('C1', data[2])
#向图表中添加数据,例如第一行为:将A1~A5的数据转化为图表
chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
chart.add_series({'values': '=Sheet1!$B$1:$B$5'})
chart.add_series({'values': '=Sheet1!$C$1:$C$5'})
#将图标插入表单中
worksheet.insert_chart('A7', chart)
workbook.close()

四、更多可用的单元格式对象(Format Class)

ecxel 中每一个单元,都有如下属性:字体(fonts)、颜色(colors)、模式(patterns)、边界(borders)、alignment、number formatting

设置属性:

format = workbook.add_format()
#用对象接口设置格式属性
format.set_bold()
format.set_font_color('red')
#用字典设置格式属性
property = {
 'bold': True,
 'font_color': 'red'
}
format = workbook.add_format(property)

以上这篇对python中的xlsxwriter库简单分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python如何让类支持比较运算
Mar 20 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
Python实现去除列表中重复元素的方法小结【4种方法】
Apr 27 Python
Python返回数组/List长度的实例
Jun 23 Python
PyCharm代码整体缩进,反向缩进的方法
Jun 25 Python
python中的变量如何开辟内存
Jun 26 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Python 实现try重新执行
Dec 21 Python
Python随机数函数代码实例解析
Feb 09 Python
python os模块在系统管理中的应用
Jun 22 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 #Python
Python实现获取前100组勾股数的方法示例
May 04 #Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 #Python
Python 中的Selenium异常处理实例代码
May 03 #Python
Python读写/追加excel文件Demo分享
May 03 #Python
windows下安装Python的XlsxWriter模块方法
May 03 #Python
python使用openpyxl库修改excel表格数据方法
May 03 #Python
You might like
PHP之COOKIE支持详解
2010/09/20 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
firefox下input type="file"的size是多大
2011/10/24 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
javascript实现简易计算器
2017/02/01 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Python IDLE清空窗口的实例
2018/06/25 Python
Django中URL的参数传递的实现
2019/08/04 Python
python内存管理机制原理详解
2019/08/12 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
python中web框架的自定义创建
2019/09/08 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
总经理职责范文
2013/11/08 职场文书
争论的故事教学反思
2014/02/06 职场文书
调解员先进事迹材料
2014/02/07 职场文书
村委会贫困证明范本
2014/09/17 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电