14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包

这些是 pandas 在底层使用的各种读写包。

表中没有 xlwings ,因为xlwings 依赖于 Excel 应用程序本身,为了使用 xlwings,你的计算机上必须安装并可以运行 Excel 应用程序。然而 Excel 并不总是可用的,在 Linux 系统中,原生并没有 Excel 应用程序。在 Windows 或 macOS 系统中,由于可以安装 Excel 应用程序,xlwings 可以作为一个强大的工具来替代其他用于处理 Excel 文件的 Python 包。在这些系统中,如果你需要执行与 Excel 相关的操作,xlwings 可能是一个更好的选择,因为它提供了更直接、更强大的与 Excel 交互的能力。

xlwings 与其他处理 Excel 文件的 Python 包(如 pandasopenpyxlxlrd 等)之间的本质区别在于它对 Excel 应用程序的依赖。其他包通常不依赖于 Excel 应用程序本身,而是直接读取或写入 Excel 文件的格式。这使得它们可以在没有安装 Excel 的环境中使用。

xlwings 在 Windows 或 macOS 系统中由于其与 Excel 应用程序的直接交互能力,可以提供一些其他包无法提供的独特功能。但这并不意味着它可以完全替代其他所有处理 Excel 文件的 Python 包。


二 辅助模块 excel.py

https://pan.baidu.com/s/1N2E4WkODmGHVfqr5ugKc6w?pwd=43tq 提取码: 43tq

1.为什么要有辅助模块

在处理电子表格(如Excel表格)时,通常需要使用代码来读取或写入表格中的单元格区域。不同的包提供了不同的方法和语法来完成这些操作。这意味着,如果你从一个包切换到另一个包,你可能需要学习并适应新的语法和方法。使用这样的辅助模块,用户可以更专注于处理数据本身,而不是纠结于如何调用底层的包来完成基本的读写操作。

想象你有一堆不同的工具箱,每个工具箱里都有工具可以帮你完成一些特定的任务,这些工具箱就像是你编程时用的不同包。每个工具箱里的工具使用方法都不一样。现在,假设有人为你制作了一个"万能工具适配器",这个适配器可以让你用同一种方式使用所有工具箱里的工具,而不需要去学习每种工具的具体使用方法。

2.该模块负责处理的问题是什么

1.切换读写包

Excel 文件会随着时间不断增大,很多用户会尽可能地将文件格式从 xlsx 切换到 xlsb,因为 xlsb 格式可以大幅削减文件大小。你不得不从 OpenPyXL 切换到 pyxlsb。因此也就必须将使用 OpenPyXL 的代码改写成 pyxlsb 的语法。

2.数据类型转换

在切换包时,你不仅需要对代码的语法进行调整,还需要注意不同包返回同一单元格内容时所用的不同数据类型。例如,OpenPyXL 会为空单元格返回 None,而 xlrd 返回的是空字符串。

3.单元格循环

读写包是低级包:这就意味着它们并未提供一些方便的函数来处理常见任务。例如,大部分包会要求你通过循环来操作每一个需要读或写的单元格。

3.如何使用辅助模块

有3个函数

1.读写值

read 函数接受以下任一种包的 sheet 对象:xlrd、OpenPyXL 或 pyxlsb。

read 函数也接受可选参数 first_cell 和 last_cell。

这两个参数可以以 A1 这样的字符串形式提供,也可以通过行列元组的形式提供(遵循 Excel 从 1 开始的索引规则):(1, 1)。行列元组指的是一个包含两个整数的元组,用于指定单元格的位置。元组的第一个元素表示行号,第二个元素表示列号。在 Excel 中,单元格的索引是从 1 开始的,而不是从 0 开始。Excel 中的第一个单元格(左上角)通常标记为 A1,其中 A 表示第一列,1 表示第一行。想要指定 Excel 中的第一行第一列,你应该使用元组 (1, 1),而不是 (0, 0)read(sheet, first_cell=(1, 1), last_cell=(3, 3)) 将读取从第一行第一列到第三行第三列的单元格区域。

first_cell 的默认值是 A1,而 last_cell 的默认值是所用区域的右下角。因此如果你只提供了 sheet 对象作为参数,那么它就会读取整张工作表。

与 read 函数的工作方式类似,write 函数接受 xlwt、 OpenPyXL 或 XlsxWriter 的 sheet 对象(read 和 write 函数都是自定义函数),以及以嵌套列表和可选的 first_cell 表示的值。可选参数 first_cell 代表待写入区域左上角的单元格,嵌套列表将从这里开始写入。

2.数据类型转换

相关推荐
人类群星闪耀时16 分钟前
R语言数据挖掘:从“挖井”到“淘金”
开发语言·数据挖掘·r语言
豆约翰1 小时前
pygame联网飞机大战游戏实现
python·游戏·pygame
How_doyou_do1 小时前
项目实战-25年美赛MCM/ICM-基于数学建模与数据可视化的动态系统模型
python·数学建模·数据可视化
晓13132 小时前
第四章 OpenCV篇—图像梯度与边缘检测—Python
人工智能·python·opencv·计算机视觉·pycharm
蹦蹦跳跳真可爱5892 小时前
Python----神经网络(《Going deeper with convolutions》论文解读和GoogLeNet网络)
网络·人工智能·pytorch·python·神经网络
方博士AI机器人2 小时前
Octave 主要扩展包介绍:提升数值计算,数据分析,及图像处理能力
数据挖掘·数据分析
reasonsummer3 小时前
【办公类-99-05】20250508 D刊物JPG合并PDF便于打印
python·pdf
坐吃山猪3 小时前
WebFlux与HttpStreamable关系解析
python
soso(找工作版3 小时前
【链表扫盲】FROM GPT
python·gpt·链表
清 晨3 小时前
基于大数据分析的Facebook隐私保护策略
数据挖掘·数据分析·web3·facebook·tiktok·instagram·clonbrowser