本章主要讲解 xlrd 第三方库及 xlwt 第三方库的使用。xlrd 库用于读取 Excel 文件,xlwt 库用于建立、修改、格式设置、保存 Excel 文件。这两个第三方库出现的时间比较早,主要是用来处理 “.xls” 文件,在使用过程中需要借助 xlutils 第三方库的沟通连接。由于数据处理涉及的主要是大数据,而大数据的建立需要时间的积累,早期的.xls 文件积累了大量的数据,主要存储在各种大中小企业中,因此这两个库是 Python 语言处理 Excel 数据不可忽视的第三方库。具体说明如下:
- xlrd 库与 xlwt 库用于处理.xls 文件。
- xlutils 通过 copy 方法,将 xlrd 读取的文件复制之后交给 xlwt 处理,相当于取消了源文件的 “只读” 性质。
- xlrd 版本 1.2.0 可以同时读取.xls 文件和.xlsx 文件。
- xlrd 版本 2.0.0 以后,只能用于读取.xls 文件,不再支持.xlsx 文件。
- “.xls” 文件对应的是 Office Excel 2003 及以前的版本,是一个特有的二进制格式,其核心结构是复合文档类型的结构。
- “.xlsx” 文件则对应 Office Excel 2007 及后期的版本,核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式。
xlrd 第三方库与 xlwt 第三方库功能的作用区域如表 2-10 所示。
打开命令提示符(cmd)或终端,执行安装命令:pip install xlwt说明:
在工作表中,第1个单元格的位置为(0,0),在进行保存时,代码中的小写字母“r”的含义为转义。
(1) 工作前,首先需要在D盘中创建一个名字为abc的文件夹,用来存放所创建的文件,并同时完成相应的第三方库的安装。
(2) xlrd库是用于读取Excel文件的第三方库,也称为外部库,用于实现工作簿的读取。本例没有涉及。
(3) xlwt库是用于写入Excel文件的第三方库,用于实现工作簿的创建和保存等功能。
(4) xlrd库及xlwt库主要支持.xls文件的读取,注意此例中保存的文件扩展名为.xls。
2.2添加工作表
说明:本例中涉及三个外部库,其中,xlrd库用于读取工作簿,xlwt库用于保存工作簿,xlutils库用于复制工作簿。由于xlrd库读入的工作簿不能修改,所以需要先复制成新的工作簿,再进行后面的操作。
在Python中,使用xlrd库读取Excel文件,使用xlwt库生成Excel文件。需要注意的是,使用xlrd库读取的Excel文件默认是只读的。若要进行修改,可以先利用xlutils库(它依赖于xlrd和xlwt)将读取的内容复制到一个新的Excel文件中,从而实现对数据的编辑。xlutils库在这里起到了桥接xlrd库和xlwt库的作用,类似于在两者之间建立了一个连通的管道,解除了xlrd库的只读限制。
说明:enumerate()函数是Python的内置函数,它允许你在遍历列表、元组、字典和字符串等可迭代对象时,同时获取每个元素的索引和值。enumerate()函数通常与for循环一起使用,以便在循环过程中访问数据的下标和对应的值。
说明:将大批量数据写入 Excel 文件需要借助字典工具。
字典是 Python 语言的重要组成部分,涉及的术语有字典、键、值、键值对,其中键和值通过英文冒号连接,不同键值对之间用英文逗号隔开,字典通过花括号“{}”建立。
本例代码中 items() 函数的功能是:以列表方式返回可遍历的键、值。
本例代码中使用了双循环语句。
2.6读取数据
2.7修改数据
2.8插入数据
第3章 xlwings库
xlwings 第三方库是一款操作 Excel 电子表格的开源库。它能方便地读写 Excel 文件中的数据,并支持单元格格式的设置和修改。
API(应用程序编程接口)是一组预先定义的函数,其作用是允许应用程序开发人员基于某软件或硬件访问一组例程,而不需要访问源码。API 包括:App 常用 API、Book 常用 API、Sheet API 和 Range 常用 API。
xlwings 库的 4 个对象如下所述:
App:应用,表示应用程序,其中可以存放多个工作簿。
Book:工作簿,表示 Excel 文件,其中可以存放多个工作表。
Sheet:工作表,表示 Excel 文件中的工作表,工作表由许多单元格组成。
Range:表示区域,既可以是一个单元格,也可以是一片连续的单元格区域。
Python Excel 处理核心库功能总对比表
(1)老式格式专用:xlrd 和 xlwt 仅支持 .xls 格式,且分别为“只读”和“只写/改”的单行道工具。
(2)全功能桌面操控:xlwings 是唯一在全格式支持下,还能进行格式设置的库,适合需要生成规范报表的场景。
(3)大数据与跨格式:pandas 不支持单元格格式设置,但胜在支持 .csv 格式,且处理大批量数据的效率远高于其他库。
第4章 pandas库
本章主要围绕 pandas 第三方库进行讲解。作为目前广泛流行的库,pandas 在功能上比 xlrd、xlwt 和 xlwings 等库更为先进和强大。特别是在数据可视化处理方面,pandas 库的应用非常广泛,是使用最多的第三方库之一。pandas 是一个基于 NumPy 构建的开源数据分析工具库,专为处理数据分析任务而设计。它集成了多种数据处理工具和标准数据模型,提供了丰富的函数和方法,使得操作大型数据集变得高效便捷。pandas 库的这些功能是使 Python 转变为一个强大且高效的数据分析工具的关键因素之一。
pandas 库是在 NumPy 库的基础上构建的,因此在安装 pandas 之前需要先安装 NumPy 库。默认情况下,pandas 库不能直接读写 Excel 文件。要想正常读写 .xlsx 后缀的 Excel 文件,还需要安装 openpyxl 第三方库。
4.10 文件类型转换
4.11 合并工作表