(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