Selenium2+python自動化之讀取Excel數據(xlrd)


前言

當登錄的賬號有多個的時候,我們一般用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()

運行結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM