使用python对excel进行操作之前,我们需要了解excel的组成,分别是:
对excel的操作,实质上是对excel中workbook、sheet以及cell的操作。
1 ''' 2 读取excel中的测试用例,并使用列表进行保存 3 使用zip将表头信息与行中的信息已字典的形式关联 4 ''' 5 6 import os 7 from openpyxl import load_workbook 8 9 file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"login_case.xlsx") 10 11 datas_case = [] #用于保存测试用例 12 13 wb = load_workbook(file_path) # 获取工作簿workBook 14 sh = wb["login"] # 获取工作表 15 rows = list(sh.rows) # 获取工作表中所有行,行中的元素以元组的形式进行存放 16 17 titles = [] # 用户存放表头信息 18 for key in rows[0]: # 遍历表头 19 titles.append(key.value) 20 pass 21 22 # 遍历非表头行 23 for row in rows[1:]: 24 values = [] # 用于存放行中元素 25 for cel in row: # 遍历行中的单元格 26 values.append(cel.value) 27 pass 28 res = dict(zip(titles,values)) # 将行中的元素与表头信息组合,形成测试用例 29 res["expected"] = eval(res["expected"]) # 将字符串转换成字典 30 datas_case.append(res) # 将测试用例存放在列表中 31 pass 32 33 print(datas_case)
1 ''' 2 读取excel中的测试用例,并使用列表进行保存 3 使用最原生的方式 4 ''' 5 6 import os 7 from openpyxl import load_workbook 8 9 file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"login_case.xlsx") 10 11 datas_case = [] #用于保存测试用例 12 13 wb = load_workbook(file_path) # 获取工作簿workBook 14 sh = wb["login"] # 获取工作表 15 rows = list(sh.rows) # 获取工作表中所有行,行中的元素以元组的形式进行存放 16 17 titles = [] # 用户存放表头信息 18 for key in rows[0]: # 遍历表头 19 titles.append(key.value) 20 pass 21 22 # 遍历非表头行 23 for row in rows[1:]: 24 row_dict = {} # 将行中的信息用字典保存 25 for item in range(len(row)): 26 row_dict[titles[item]] = row[item].value 27 pass 28 row_dict["expected"] = eval(row_dict["expected"]) # 将字符串转换成字典 29 datas_case.append(row_dict) # 将测试用例存放在列表中 30 pass 31 32 print(datas_case)