1.引入openpyxl庫 安裝openpyxl庫:pip install openpyxl 引入openpyxl庫:from openpyxl import load_worbook 2.代碼實現 from openpyxl import load_workbook #打開Excel wb = l ...
1.引入openpyxl庫
安裝openpyxl庫:pip install openpyxl
引入openpyxl庫:from openpyxl import load_worbook
2.代碼實現
from openpyxl import load_workbook #打開Excel wb = load_workbook("C:\\Users\\Administrator\\Desktop\\testdemo.xlsx") #定位表單 sheet = wb["s1"] #定位單元格 行列值 print("獲取最大行數:",sheet.max_row) print("獲取最大列數:",sheet.max_column) # #遍歷 test_list = []#列表 for a in range(2,sheet.max_row+1): test_dic = {} # 字典 for b in range(1,sheet.max_column+1): #獲取指定單元格的值:sheet.cell(行,列).value #將獲取到的數據添加到字典 test_dic["method"]=sheet.cell(a,1).value test_dic["url"]=sheet.cell(a,2).value test_dic["data"]=eval(sheet.cell(a,3).value)#eavl() 把數據類轉換成 原本數據類型 test_dic["expect"]=sheet.cell(a,4).value test_list.append(test_dic)#將字典添加到列表 print(test_list)
輸出:
最大行數: 3 最大列數: 4 [{'method': 'get', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}, {'method': 'get', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}]
3.代碼封裝
testdemo.xlsx
代碼
#引入倉庫 from openpyxl import load_workbook class DoExcel(): def __init__(self,file,sheet): self.file=file self.sheet=sheet def return_excel_value(self): wb = load_workbook(self.file)#打開excel sheet_content = wb[self.sheet]#定位sheet工作博 data_list = []#列表用於存儲測試數據 for n in range(2,sheet_content.max_row+1):#行,第一行是標題,所以從第二行開始 data_dict = {}#字典用於存儲每組測試數據 for m in range(2,sheet_content.max_column+1): data_dict["method"]=sheet_content.cell(n,2).value data_dict["url"] = sheet_content.cell(n, 3).value data_dict["data"] = eval(sheet_content.cell(n, 4).value)#eval()將數據類型還原 data_dict["expect"] = sheet_content.cell(n, 5).value data_list.append(data_dict)#將字典存儲到list return data_list if __name__ == '__main__': data_list = DoExcel("C:\\Users\\Administrator\\Desktop\\testdemo.xlsx","s1").return_excel_value() print(data_list)
執行結果 [{'method': 'post', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}, {'method': 'get', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}] Process finished with exit code 0