python基础知识(六)——读取excel

一、excel基础操作

  1. 安装openpyxl库,导入openpyxl库
  2. excel中的三大对象
    • workbook 工作薄
    • sheet 表单
    • cell 单元格
  3. 打开一个已存在的excel文件
import openpyxl
wb = load_workbook("testcase_api_wuye.xlsx")    #打开一个已经存在的excel文件
print(wb) #文件的内存地址

在这里插入图片描述
在这里插入图片描述

  1. 读excel内容
wb = load_workbook("testcase_api_wuye.xlsx")    #打开一个已经存在的excel文件
sh = wb["register"] #识别某一个表单
cl = sh.cell(row = 2,column = 5).value  #通过表单的对应的行、列获取值
print(cl)

在这里插入图片描述

二、for循环读取表单数据

  1. 通过表单的对应的行、列获取url、data、expected值

在这里插入图片描述

  1. 因表单中有多条数据,故可用for循环读取register表单中所有url、data、expected值
    • 使用 range() 获取表单最大行,range尾需 +1,即maxRow + 1
maxRow = sh.max_row		#获取最大行

在这里插入图片描述

  1. 获取到的零散数据变整体,将读取到的每一条用例数据变成字典

在这里插入图片描述

  1. 每一条用例数据变成字典,用 dict(key = value) 的方法

在这里插入图片描述

  1. 将每一条字典数据,整体放到一个列表中
    • 先定义一个空列表
    • 将字典数据 append() 到空列表中

在这里插入图片描述

  1. 完整代码
wb = load_workbook("testcase_api_wuye.xlsx")    #打开一个已经存在的excel文件
sh = wb["register"] #识别某一个表单
maxRow = sh.max_row #获取最大行
print(maxRow)
listCase = []   #空列表,用来存放读取到的用例数据
for i in range(2,maxRow + 1):
    dictCase = dict(
    id = sh.cell(row = i , column = 1).value,  #通过表单的对应的行、列获取url值
    url = sh.cell(row = i,column = 5).value,  #通过表单的对应的行、列获取url值
    data = sh.cell(row = i,column = 6).value,  #通过表单的对应的行、列获取data值
    expected = sh.cell(row = i,column = 7).value,  #通过表单的对应的行、列获取expected值
    )
    listCase.append(dictCase)   #每循环一次,把读取到的用例,生成的字典的数据,追加到列表中;循环完毕,列表中包含搜友读取到的用例数据
print(listCase)

三、封装读取excel函数

  1. 方法:
    • def 函数名
    • 确定哪些是变动的值,定义为函数参数,如:(文件名,表单名)
    • 思考返回值

在这里插入图片描述

  1. 完整代码
#读用例函数
def readCase(filename,sheetname):
    wb = load_workbook(filename)    #打开一个已经存在的excel文件
    sh = wb[sheetname] #识别某一个表单
    maxRow = sh.max_row #获取最大行
    print(maxRow)
    listCase = []   #空列表,用来存放读取到的用例数据
    for i in range(2,maxRow + 1):
        dictCase = dict(
            id = sh.cell(row = i , column = 1).value,  #通过表单的对应的行、列获取url值
            url = sh.cell(row = i,column = 5).value,  #通过表单的对应的行、列获取url值
            data = sh.cell(row = i,column = 6).value,  #通过表单的对应的行、列获取data值
            expected = sh.cell(row = i,column = 7).value,  #通过表单的对应的行、列获取expected值
        )
        listCase.append(dictCase)   #每循环一次,把读取到的用例,生成的字典的数据,追加到列表中;循环完毕,列表中包含搜友读取到的用例数据

    return listCase

readcases = readCase("testcase_api_wuye.xlsx","login")  #函数调用,定义变量接收调用函数的返回值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值