0
点赞
收藏
分享

微信扫一扫

【接口测试】通过xlrd库导入excel文件

_阿瑶 2022-03-11 阅读 147
webview

(1)xlrd库:
# 1、打开文件
x1 = xlrd.open_workbook(filename)

# 2、获取sheet对象    
x1.sheet_names()  # 获取所有sheet名字
x1.nsheets        # 获取sheet数量
x1.sheets()       # 获取所有sheet对象
x1.sheet_by_name("test")  # 通过sheet名查找
ds = x1.sheet_by_index(3)  # 通过索引查找
# 3、获取sheet的汇总数据
ds.name           #获取sheet名
ds.nrows          #获取总行数
ds.ncols          #获取总列数
# 4、行操作
ds.row_values(0)     #获取第一行所有内容
ds.row(0)            #获取单元格值类型和内容
ds.row_types(0)      #获取单元格数据类型
# 5、表操作
ds.row_values(0,6,10)      #取第一行,第6-9列
ds.col_values(0,0,5)       #取第一列,第0-4行
ds.row_slice(2,0,2)        #获取单元格值类型和内容,同sheet1.row()
sheet1.row_types(1,0,2)    #获取单元格数据类型
# 6. 特定单元格读取或获取单元类型
ds.cell_value(1,2)

#读取(1,2)中的表格数据详情
ds.cell(1,2).value 


ds.row(1)[2].value
ds.cell(1,2).ctype
ds.cell_type(1,2)
ds.row(1)[2].ctype

# 7. 单元格位置表达方式
xlrd.cellname(0,0)      #将(0,0)转化为A1
xlrd.cellnameabs(0,0)         #将(0,0)转化为SAS1
xlrd.colname(30)         #将列由数字转换为字母表示

import json
import xlrd
#通过表格获取测试用例
def case_param(sheet_name,case_name):
    data=[]
    # 获取当前路径下/template/data.xls文件
    wb = xlrd.open_workbook(r'../template/data.xls', formatting_info=True)
    sheet = wb.sheet_by_name(sheet_name)
    idx=0
    # 通过循环列读取每一行的 (行,列)值,通过sheet_name表格名称获取case_name用例名称
    for i in sheet.col_values(0):
        if case_name in i :
            # 当case_name 在列中,读取当前行的每一个数据包含case_name,case_note,readata,resdata,以列表的形式输出#
            case_name_num=sheet.cell(idx, 0).value
            case_note = sheet.cell(idx, 1).value
            reqdata=sheet.cell(idx,2).value
            resdata=sheet.cell(idx,3).value
            data.append((case_name_num,case_note,json.loads(reqdata),json.loads(resdata)))
        idx=idx+1
    return data
举报

相关推荐

0 条评论