在做自動化測試的時候,我採用了將用例保存在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)
打印出來的結果是這樣的,正是我需要的