一、openpyxl

  1. 安装   pip install openpyxl  在Terminal中输入
  1. excel操作步骤
    1. 找到目标excel
    2. 打开
    3. 读取数据、编辑excel单元格
    4. 保存
    5. 关闭
  1. openpyxl 操作
    1. 创建wb对象(找到excel并打开它)
    2. 获取sheet对象
    3. 找到要操作的单元格
    4. 读数据、修改数据
    5. 保存,关闭
  1. 操作演示(和3对应的步骤)

from openpyxl import load_workbook   导入load_workbook类

  1. 实例化对象名 = load_workbook(filename="文件地址")    带文件名及其后缀

该步骤是创建文件流,初始化load_workbook类之后赋值给实例化对象

如测试文件在该项目文件夹中则直接填写文件名,如果文件不在该项目文件夹中则填写全部的链接

  1. 有关sheet的新对象名1 = 实例化对象名["测试用例中sheet名"]        获取sheet对象
  2. 新对象名2 = 有关sheet的新对象名1.cell(row=想获取的单元格的行, column=想获取的单元格的列)

找到要操作的单元格

新对象名2的值如下图所示,图中起名cell

  1. 接受结果名 = 新对象名2.value   print(接受结果名) ,也可直接print(新对象名2.value)

用于获取测试文件中对应位置的确切取值

  1. 实例化对象名.close()   关掉创建的文件流,不关掉会占用IO,打开多了可能会崩

  1. 注意: 操作的都是对象(存储的位置),只有读数据时为值

  1. load_workbook      参数说明
    1. filename:excel        文件名称(带路径)
    2. read_only=False:    可读可写,默认False表示可读可写,Ture表示只读
    3. keep_vba=KEEP_VBA:     保留vba代码
    4. data_only=False:     默认是False:有计算公式的单元格直接读出来的是公式

True:有公式的单元格读出来是计算后的结果

  1. keep_links=True:     保留外部链接
  1. 获取sheet对象
    1. 有关sheet的新对象名1 = 实例化对象名["测试用例中sheet名"]
    2. 新接收结果名2 = 实例化对象名.sheetnames   返回一个sheet名称的list

  1. for name in 实例化对象名  print(name) 遍历sheet对象  和for循环不同的是遍历结果为对象而不是值

  1. 结果接收值 = 实例化对象名.worksheets[1]    通过索引值拿到sheet对象

  1. 找到要操作的单元格
    1. 接收值的结果 = 有关sheet的新对象名1["excel中的行列值如B2"]
    2. 新对象名2 = 有关sheet的新对象名1.cell(row=想获取的单元格的行, column=想获取的单元格的列)

  5. 行操作

  接收值 = 有关sheet的新对

  将测试文件中的整行一行一行的遍历,获取所有行的对象,需要list强制类型转换

  获取值就要通过双重for 循环获取

  行对象接收值 =有关sheet的新对象名1.rows

  for i in list(行对象接收值):

   for k in i:

      print(k.value)

  1. 接收值 = 有关sheet的新对象名1.max_row    获取最大行,统计测试文档中一共有多少行数据

  这一行写了东西全行都会显示,默认有值,但是值是None,如不需要,要进行统一删除

  1. 行切片   用于取范围里的值,从行到列确定区域,二维的,推荐使用II
    1. 接收值 = 有关sheet的新对象名1.iter_rows(min_row=1,max_row=5,min_col=1,max_col=5,values_only=True)

print(list(接收值))

  1. for val in 有关sheet的新对象名1.iter_rows(min_row=1,max_row=5,min_col=1,max_col=5,values_only=True):

print(val)

  1. 统一解释

  min_row=对应数值如1      起始行的索引(不写默认为1)

  max_row=对应数值如5     结束行索引不写的话默认是最大值,索引从1开始

  min_col=对应数值如1   起始列的索引(不写默认为1)

  max_col=对应数值如5   结束列的索引(不写的话默认是最大值),索引从1开始

  values_only=False  返回单元格的对象

  values_only=True  返回单元格的值

  1. 列操作 (和行操作类似)
    1. 接收值 = 有关sheet的新对象名1.columns  获取所有列对象,一列一列的遍历

       如果要获取值还是要用双重for循环的value方法去取值

       列对象接收值 =有关sheet的新对象名1.columns

        for i in list(列对象接收值):

         for k in i:

           print(k.value)

  1. 接收值 = 有关sheet的新对象名1.max_column   获取最大列

  1. 列切片  同行切片
    1. 接收值 = 有关sheet的新对象名1.iter_cols(min_row=1,max_row=5,min_col=1,max_col=5,values_only=True)

      print(list(接收值))

  1. for val in 有关sheet的新对象名1.iter_cols(min_row=1,max_row=5,min_col=1,max_col=5,values_only=True):

print(val)

二、写表操作和保存

  1. 有关sheet的新对象名1["excel中的位置如A1"]="要赋的值"    通过给单元格赋值,更改内容

  1. 有关sheet的新对象名1(row=行值,column=列值).value="要赋的值"         给A1单元格赋值

有关sheet的新对象名1.cell(row=行值,column=列值,value="要赋的值")     给A1单元格传值

  1. 实例化对象名.save("文件名.后缀")       保存
  2. 有关sheet的新对象名1.append(想要添加的列表名)   添加数据  在表格最下面去写,按行写入,每一个元素站一个单元格

   想要添加的列表名=[参数1,参数2,参数3,参数4,参数5]

Python_13 接口测试openpyxl和表操作的更多相关文章

  1. Python openpyxl、pandas操作Excel方法简介与具体实例

    本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据 ...

  2. Mysql常用表操作 | 单表查询

    160905 常用表操作 1. mysql -u root -p 回车 输入密码   2. 显示数据库列表 show databases     3. 进入某数据库 use database data ...

  3. Sql Server系列:数据表操作

    表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...

  4. 学习MySQL之单表操作(二)

    ##单表操作 ##创建表 CREATE TABLE t_employee( empno ), ename ), job ), MGR ), Hiredate DATE DEFAULT '0000-00 ...

  5. python——Django(ORM连表操作)

    千呼万唤始出来~~~当当当,终于系统讲了django的ORM操作啦!!!这里记录的是django操作数据库表一对多.多对多的表创建及操作.对于操作,我们只记录连表相关的内容,介绍增加数据和查找数据,因 ...

  6. mysql数据表操作&库操作

    首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...

  7. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  8. Python之Django--ORM连表操作

    一对多 class UserType(models.Model): caption = models.CharField(max_length=32) class UserInfo(models.Mo ...

  9. spark使用Hive表操作

    spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 v ...

  10. [SAP ABAP开发技术总结]内表操作

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. centos下vi 命令用法

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  2. C# winform DataGridView 一列显示星号

    private void myDataGrid_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventA ...

  3. C语言和C++的区别与联系(详细)

    文章转自:https://blog.csdn.net/cherrydreamsover/article/details/81835976 在学习了C语言和C++之后,这两者之间的区别我们需要仔细的捋一 ...

  4. Cryptanalyzing and Improving a Novel Color Image Encryption Algorithm Using RT-Enhanced Chaotic Tent Maps

    Cryptanalyzing and Improving a Novel ColorImage Encryption Algorithm Using RT-EnhancedChaotic Tent M ...

  5. Javaweb知识复习--MyBatis+Mapper代理开发

    一种持久层框架,主要用于简化JDBC MyBatis应用步骤 1.在数据库里面创建一个表 2.创建模块,导入坐标 就是新建一个Maven项目,在pom.xml里面导入mybatis相应导包依赖代码: ...

  6. 利用Vue技术实现的查询所有和添加功能

    就是根据Vue本身的特性,对之前写过的JSON等进行页面代码的简化. 其中,有俩点,需要明白一下: 在body标签里面,使用div标签,将列表数据包住,并设置一个id,便于vue对其的引用 在使用vu ...

  7. Vue前端框架的基础学习,为之后打个基础

    Vue 首先,在使用vue之前,我们需要先下载好一个vue.js文件,才能继续进行vue的学习,下载教程如下: 1.进入官网:https://v2.vuejs.org/ 2.选择页面中的Learn,再 ...

  8. Python爬虫采集商品评价信息--京东

    1.数据采集逻辑 在进行数据采集之前,明确哪些数据为所需,制定数据Schema为爬取工作做出要求,并根据数据Schema制定出有针对性的爬取方案和采集逻辑. 2.数据Schema 3.数据爬取 抓取京 ...

  9. 获取了文心一言的内测及与其ChatGPT、GPT-4 对比结果

    百度在3月16日召开了关于文心一言(知识增强大语言模型)的发布会,但是会上并没现场展示demo.如果要测试的文心一言 也要获取邀请码,才能进行测试的. 我这边通过预约得到了邀请码,大概是在3月17日晚 ...

  10. 【Eolink】Apikit V10.8.0 版本发布!增加支持 DUBBO、TCP、SOAP 、HSF、UDP 的接口协议

    Apikit 最新功能来袭! 我们在这个版本实现了接口管理和测试能力的全面升级,包括且不限于: 新增功能速览: 增加支持 DUBBO.TCP.SOAP .HSF.UDP 接口文档和协议 接口文档可自动 ...