前言
當登錄的賬號有多個的時候,我們一般用excel存放測試數據,本節課介紹,python讀取excel方法,並保存為字典格式。
一、環境准備
1.先安裝xlrd模塊,打開cmd,輸入pip install xlrd在線安裝
>>pip install xlrd
二、基本操作
exlce基本操作方法如下
# coding:utf-8 import xlrd # 打開excel表格,參數是文件路徑 data = xlrd.open_workbook('test.xlsx') # 通過索引順序獲取 # table = data.sheets()[0] # table = data.sheet_by_index(0) table = data.sheet_by_name("Sheet1") # 獲取一行或一列的值,參數是第幾行 print table.row_values(0) # 獲取第一行的值,返回列表 print table.col_values(3) # 獲取第一列的值,返回列表
三、封裝讀取方法
1、在excel中存放數據,第一行為標題,也就是對應字典里面的key值,如:username,password
2、最終讀取的數據是多個字典的list類型數據,第一行數據就是字典里的key值,從第二行開始一一對應value值
封裝的代碼如下:
# coding:utf-8 import xlrd class ExcelUtil: def __init__(self, excel_path, sheet_name): self.data = xlrd.open_workbook(excel_path) self.table = self.data.sheet_by_name(sheet_name) # 獲取第一行作為key值 self.keys = self.table.row_values(0) # 獲取總行數 self.rowNum = self.table.nrows # 獲取總列數 self.colNum = self.table.ncols def dict_data(self): if self.rowNum <= 1: print("總行數小於1") else: r = [] j = 1 for i in range(self.rowNum - 1): s = {} # 從第二行取對應values值 values = self.table.row_values(j) for x in range(self.colNum): s[self.keys[x]] = values[x] r.append(s) j += 1 return r if __name__ == "__main__": filePath = "test.xlsx" sheetName = "Sheet2" data = ExcelUtil(filePath, sheetName) print data.dict_data()
運行結果如下: