大家好,在之前的Python办公自动化系列文章中,我们已经介绍了两个Python操作Excel的库openpyxl与xlwings,并且相信大家已经了解这两者之间的异同。
但是在Python中操作Excel库可不止这两个,本文就将介绍另一个强大的库xlsxwriter。来学习如何用原生的方式操作Excel!
首先还是来简单了解下这三个库之间的区别
openpyxl:只允许读取和写入.xlsx格式文件并进行增删改增查。
xlwings:允许读取和写入.xlsx和.xls两种格式文件并进行增删改查。
xlsxwriter:只允许写入.xlsx格式的文件。
比较三者,你可能会觉得xlsxwriter这个库也太不行了吧?其实不是的,在写入这方面前两个库比不上它,它的精华在于写入(多张样式图表、图片、表格样式修改等)。话不多说,下面开始讲解!
简介
xlsxwriter是用于创建Excel XLSX文件的Python模块,可用于将文本、数字、公式和超链接写入Excel2007 + XLSX文件中的多个工作表。它支持格式化等功能。可以说除了Excel本身,就属这个功能最齐全了。
它的缺点就是不支持读取和修改,它只能创建新的文件,如果读者想完美读取功能的话,可以结合xlsxreader来实现,两者结合可谓真正完整的Excel+XLSX再现。
其次,它不支持XLS文件的写入,XLS文件是一种二进制格式的文件。如果读者想创建XLS格式文件的话可以参考xlwt模块。
安装与概览
安装很简单,没有什么特别要注意的,直接在命令行/终端中安装即可
pip install XlsxWriter
在正式讲解之前我们需要简单了解Xlsxwriter的基本流程如下
常用操作拆解
下面我将对操作Excel时常见的几个操作进行举例讲解
一、创建Excel文件
先导入模块而后使用Workbook()构造函数来创建一个新的工作簿对象。Workbook()接受一个非可选参数---我们创建文件的文件名。
import xlsxwriter
f = xlsxwriter.Workbook()
二、创建工作表
默认情况下,Excel文件中的工作表按代码执行顺序名称依次为Sheet1、Sheet2等。但是我们也可以指定一个名称,如上我们在函数内加入了Data。
worksheet1 = workbook.add_worksheet()
#worksheet2 = workbook.add_worksheet('Data')
三、写入单个数据
如果对单个单元格进行写入数据用如下语法:
worksheet.write(row, col, some_data)
注意的是在XlsxWriter中,row行和col列的索引为零也即工作表的第一个单元格A1为(0,0)
如果我们需要写入多行多列数据的话,可以用for循环。在这里举个例子呈现。
import xlsxwriter
workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet('早起Python')
#写入数据以元组套列表形式
data = (
['春天',20],
['夏天',30]