在做自动化测试的时候,我采用了将用例保存在excel表格中,然后从excel表格中读取数据。但是通常我需要的数据是json格式的,所以就有必要将excel数据转换为dict,百度了很久也没有我真正想要的答案,于是自己摸索。
先看需求,我是想要实现任何的表格都能适应下面这种模式
我是要将下面这个表格
转换成这样
就是前面的索引固定为表里面黄色部分,然后每一行为一个dict,这样只需要设计测试用例就行了,不管你的测试用例是增加还是减少,只需要在表格里面按照这个格式填写,我不需要修改代码就能做到做到测试用例的增删改查,及其方便。
代码如下:
import xlrd
def get_data(filename,sheetnum):
dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx'
data = xlrd.open_workbook(dir_case)
table = data.sheets()[sheetnum]
nor = table.nrows
nol = table.ncols
dict = {}
for i in range(1,nor):
for j in range(nol):
title = table.cell_value(0,j)
value = table.cell_value(i,j)
dict[title] = value
yield dict
if __name__ == '__main__':
for i in get_data('add_user',0):
print(i)
打印出来的结果是这样的,正是我需要的