8056d40781365a38a5e4b07f5318324d.gif

Python办公自动化主要包括Excel读写数据、PPT、Word三个方面的学习,上次安装了Python自动化办公的基本环境搭建(Python办公自动化-环境搭建)。接下来一起学习xlrd模块是如何获取Excel数据的。

xlrd为Python的第三方模块,用来读取Excel表格数据,如果想要使用xlrd模块,需要先在本地环境进行安装。

8c97d30630ae4266e26d7f17280ff2c3.png

安装xlrd模块

安装可以通过pip install xlrd命令行安装,通过此命令设备会到远端服务器进行下载;或者通过PyCharm搜索后安装。本地环境上次已经通过PyCharm安装成功,所以提示已经存在:

29d6492a24c83966898f2429c8bf7b43.png

如果我们想要查看电脑上已经安装的模块,可以通过pip list进行查看:

d74a750f55f639c6807f177dd9b80b92.png

提示pip版本过低,根据提示命令python -m pip install --upgrade pip进行安装,安装成功后,提示消失:

418446466f66ac0c5a099216a7bb6c28.png

安装之后再通过import xlrd导入就可以正常使用xlrd模块了。

8c97d30630ae4266e26d7f17280ff2c3.png

Excel基础概念介绍

首先创建的一个Excel文件就是一个工作簿,工作簿下面会包含多个sheet,每个sheet就是一个工作表,每个工作表中会包含行和列,行和列交叉的部分我们称为单元格。Xlrd模块就是对Excel的这些内容进行操作。

a6924adf9f3cafed45871272347cde96.png8c97d30630ae4266e26d7f17280ff2c3.png

xlrd模块的使用

xlrd模块的使用主要包括:xlrd常用函数、xlrd操作Excel行、xlrd操作Excel列、xlrd操作Excel单元格、在Excel当中最重要的方法就是对工作簿和工作表的操作。

8c97d30630ae4266e26d7f17280ff2c3.png

xlrd常用函数

打开PyCharm,创建一个项目project1:

f10e14cd37ef375a126017b79e92caf7.png

然后创建Python文件,命名为index.py,在文件中通过import xlrd命令导入安装好的xlrd模块:

6a7ccbfba670233917f8c619f41fea15.png

想要读取Excel数据,首先要找到需要读取的Excel文件,然后再进行相关的读取操作。

通过xlrd.open_workbook()函数打开Excel文件:

f5b3d4b1dd8be57f9137eaaebcb580df.png

Filename参数表示要读取的文件路径,这里可以是相对路径或者是绝对路径,将测试使用的test文件放在同级目录下:

6529696a1f93dd9dd54243843133c2e4.png

因为test表格和当前文件是在同一目录下面,所以直接填写相对路径文件名称即可:

cef7677f6ee5871a5ab9eff4bd80d0dc.png

同时设置一个变量test去接收,这个函数的返回值是一个工作簿对象:

7fb59f19ffbbe3f1e53673c7812a7e05.png

open_workbook()还包括其他参数

46ae5e013f0c4a3511cd89edf8535703.png

encoding_override:设置编码;

formatting_info:表示是否保存Excel表格格式,类似加粗等,默认设置不保存,这样可以节省内存的开销;

on_demand:表示是否按需加载工作表,False表示加载所有工作表;使用时可以通过sheet_loaded()去判断工作表是否被加载,参数可以使用工作表名称或者索引:

6b956af0fafebe2170ce4382b454b511.png

此处添加索引0并print打印提示为True,表示该索引对应的工作表已经加载:

daa90133a91a42b564cdf66eeeea361e.png

也可以通过unload_sheet()卸载已经加载的工作表,参数也是工作表名称和索引,卸载后在查看发现提示False,查看其它索引是Ture:

6b74d4e42e96ace38d853e8c1dee0db0.png

暂时不需要的内容,可以Ctrl+/注释

69acb3c5a9ed03dd06e267be443bb1c2.png

可以通过sheets()函数获取全部工作表,返回对象是工作表,通过print()可以返回两个工作表对象:

45bc2c49a4fb702fb0644aac6d8f9044.png

后面操作需要针对单独的工作表进行操作,获取所有工作表返回的是列表,可以通过索引号直接获取具体的工作表对象

6e0cd29b30b63e255e7eb3dccff79923.png

还可以通过sheet_by_index()函数根据索引获取工作表,参数为索引号,0表示索引为0的工作表:

549901249ff3bf4a85a4c8e4d1cd2c76.png

还可以通过sheet_by_name()函数根据工作表名称获取,参数为工作表名称,此处需注意严格区分大小写,否则会报错:

3112232afa5efbcf12908f8dace652bf.png

如果不知道工作表名称,可以通过test.sheet_names()获取工作表name

268b9ae8e49dad9e510818f527747fb5.png

在实际操作中,如果想提前获取工作表数量,可以通过test.nsheets函数获取所有工作表数量:

57abf92cc1b224a4645163aba03e6193.png

以上就是一些常用函数介绍,主要是围绕工作簿和工作表,包括如何找到Excel文件、如何判断工作表是否加载、如何卸载工作表、以及如何获取工作表等。

接下来就可以对工作表中的行和列以及单元格进行操作了。

e5a6dbdc000a70894578cc3cbaa5fe6f.pngf77803ba824cd3636cfc4125a08e0886.pngf557cccb1426f14e6517ef0fc0f289d9.png

一码不扫,
可以扫天下?

e5a6dbdc000a70894578cc3cbaa5fe6f.png
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐