def read_excel(sheet_name,caseName,fpath="case.xls",case_num=['all']):
# 打开文件
fpath= os.path.join(data_path,fpath)
wb =xlrd.open_workbook(fpath,formatting_info=True)
# 获取表格
ws=wb.sheet_by_name(sheet_name)
data=ws._cell_values
header = data[0]
runList = []
if 'all' in case_num:
for row in data[1:]:
runList.append(row[header.index("用例编号")])
else: #需要筛选
for one in case_num:
if '-' in one: # 连续的
start, end = one.split('-') # '005-007'---005 006 007
for i in range(int(start),int(end)+1): #(5,8)
runList.append(caseName+f'{i:0>3}') # Login5---Login005
else: # 某一个
runList.append(caseName+f'{one:0>3}')
datanew = []
for row in data[1:]:
rownew=[]
for i in header:
tmp = load_json(row[header.index(i)])
rownew.append(tmp)
case = dict(zip(header,rownew))
if caseName in row[header.index("用例编号")] and row[header.index("用例编号")] in runList:
datanew.append(case)
return datanew
#-------json判断是否需要转化成字典-------
import json
def load_json(inStr):
try:
return json.loads(inStr)#是json就转化为字典
except:
return inStr# 不是就返回自己
python读取execl测试数据
最新推荐文章于 2024-02-03 23:25:02 发布