前言
當登入的賬号有多個的時候,我們一般用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()
運作結果如下: