Python 实现Excel自动化办公(上)

在Python 中你要针对某个对象进行操作,是需要安装与其对应的第三方库的,这里对于Excel 也不例外,它也有对应的第三方库,即xlrd 库。

什么是xlrd库

Python 操作Excel 主要用到xlrd和xlwt这两个库,即xlrd是读Excel ,xlwt是写Excel 的库。今天主要讲讲xlrd这个库。

常用单元格中的数据类型

  1. empty(空的)

  2. string(text)

  3. number

  4. date

  5. boolean

  6. error

  7. blank(空白表格)

安装

首先来安装一下xlrd, 安装非常简单,一条命令即可搞定:
python -m pip install xlrd

不报错说明模块安装成功

代码演示

复制代码
import xlrdimport xlwtdata = xlrd.open_workbook("test.xls") #打开一个excel文件table=data.sheet_by_name("good")#通过sheet名查找good
#针对excel中sheet操作print('sheet_names:', data.sheet_names()) # 获取所有sheet名字print('sheet_number:', data.nsheets ) # 获取sheet数量print('sheet is load:',data.sheet_loaded(2)) #通过name or index来检查某个sheet是否导入完毕print('sheet_object:', data.sheets() ) # 获取所有sheet对象,返回一个xlrd.sheet.Sheet()对象列表print('By_name:', data.sheet_by_name("test")) # 通过sheet名查找,返回一个xlrd.sheet.Sheet()对象print('By_index:', data.sheet_by_index(1) ) # 通过索引查找,返回一个xlrd.sheet.Sheet()对象
#针对sheet的行的操作print("该sheet中的有效行数:",table.nrows) #获取该sheet中的有效行数print("该行对象组成的列表:",table.row(1)) #返回由该行中所有的单元格对象组成的列表print("该行对象组成的列表:",table.row_slice(1)) #返回由该行中所有的单元格对象组成的列表,与上面的效果一致print("该行数据类型组成的列表:",table.row_types(1)) #返回由该行中所有单元格的数据类型组成的列表print("该行数据组成的列表:",table.row_values(0)) #返回由该行中所有单元格的数据组成的列表print("该列的有效单元格长度:",table.row_len(1)) #返回该列的有效单元格长度
#针对sheet的列的操作print("该sheet中的有效列数:",table.ncols) #获取该sheet中的有效列数print("该列中所有的单元格对象组成的列表:",table.col(1)) #返回由该列中所有的单元格对象组成的列表print("该列中所有的单元格对象组成的列表:",table.col_slice(1)) #返回由该列中所有的单元格对象组成的列表,与上面的效果一致print("该列中所有单元格的数据类型组成的列表:",table.col_types(1)) #返回由该列中所有单元格的数据类型组成的列表print("该列中所有单元格的数据组成的列表:",table.col_values(1)) #返回由该列中所有单元格的数据组成的列表
#针对单元格的操作# #针对单元格的操作print("返回指定单元格对象:",table.cell(0,0))   #返回单元格对象print("返回指定单元格对象:",table.cell(0,0).value)   #返回单元格对象的值print("返回指定单元格对象的数据类型:",table.cell_type(1,1))    #返回单元格中的数据类型print("返回指定单元格对象的数据:",table.cell_value(0,0))   #返回单元格中的数据,等同于table.cell(0,0).value

输出结果展示

引用的Excel 数据格式如下:

总结:今天主要是分享了Python 如何来操作Excel 里面的sheet,row,col,cell 等Excel 里面的元素,有了这些基础我们就可以在后面做我们想要做的了,比如:api 自动化时需要从Excel 里面获取要组织的请求数据,或者是回写我们请求后的响应值等。

相关推荐
A__tao2 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢2 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨3 小时前
python扫码登录dy
开发语言·python
bazhange3 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能3 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技3 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭3 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机4 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
知行合一。。。4 小时前
Python--04--数据容器(集合)
python