python介面自動化(三十七)-封裝與呼叫--讀取excel 資料(詳解)

巨集哥發表於2019-05-20

簡介

  在進行軟體介面測試或設計自動化測試框架時,一個不比可避免的過程就是: 引數化,在利用python進行自動化測試開發時,通常會使用excel來做資料管理,利用xlrd、xlwt開源包來讀寫excel。例如:當我們登入的賬號有多個的時候,我們一般用

excel 存放測試資料,本篇文章介紹,python 讀取excel 方法,並儲存為字典格式。

官網

  通過官網來檢視如何使用python讀取Excel,python excel官網: http://www.python-excel.org/

1、以下是翻譯後的官網文件:

2、點選“文件”

 

3、點選“安裝說明”

 

4、根據以上安裝說明,進行準備

環境準備

1、以下是小編環境是:

作業系統:win10

 

python環境:python3.7

 

2、根據官方文件先安裝 xlrd 模組,開啟 cmd,輸入 pip install xlrd 線上安裝

3、出現紅色圈的內容表示xlrd安裝成功

 

 python對Excel的基本操作

1、開啟電子表格檔案以進行資料提取,官方文件API

 2、通過工作表索引、名稱獲取內容

3、例項1

(1)Excel內容

(2)程式碼實現

(3)執行結果

(4)參考程式碼1

 1 # coding=utf-8
 2 # 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行
 3 
 4 # 2.註釋:包括記錄建立時間,建立人,專案名稱。
 5 '''
 6 Created on 2019-5-20
 7 @author: 北京-巨集哥
 8 Project:學習和使用python讀取Excel
 9 '''
10 # 3.匯入模組
11 import xlrd
12 
13 if __name__ == '__main__':
14 
15     # excel檔案全路徑
16     xlPath = "C:\\Users\\DELL\\Desktop\\test.xlsx"
17     # 用於讀取excel
18     xlBook = xlrd.open_workbook(xlPath)
19     # 獲取excel工作簿數
20     count = len(xlBook.sheets())
21     print(u"工作簿數為:  ", count)
22     # 獲取 表 資料的行列數
23     table = xlBook.sheets()[0]
24     nrows = table.nrows
25     ncols = table.ncols
26     print(u"表資料行列為(%d, %d)" % (nrows, ncols))
27     # 迴圈讀取資料
28     for i in range(0, nrows):
29         rowValues = table.row_values(i)  # 按行讀取資料
30         # 輸出讀取的資料
31         for data in rowValues:
32             print(data, " ",)
33         print("")

4、參考程式碼2

 1 # coding=utf-8
 2 # 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行
 3 
 4 # 2.註釋:包括記錄建立時間,建立人,專案名稱。
 5 '''
 6 Created on 2019-5-20
 7 @author: 北京-巨集哥
 8 Project:學習和使用python讀取Excel
 9 '''
10 # 3.匯入模組
11 import xlrd
12 
13 if __name__ == '__main__':
14     # 開啟 exlce 表格,引數是檔案路徑
15     data = xlrd.open_workbook('C:\\Users\\DELL\\Desktop\\test.xlsx')
16     # table = data.sheets()[0] # 通過索引順序獲取
17     # table = data.sheet_by_index(0) # 通過索引順序獲取
18     table = data.sheet_by_name(u'Sheet1')  # 通過名稱獲取
19     nrows = table.nrows  # 獲取總行數
20     ncols = table.ncols  # 獲取總列數
21     # 獲取一行或一列的值,引數是第幾行
22     print(table.row_values(0)) # 獲取第一行值
23     print(table.col_values(0)) # 獲取第一列值

5、以上程式碼執行結果

Excel存放資料(引數)

1、在 excel 中存放資料,第一行為標題,也就是對應字典裡面的 key 值,如登入的引數:username,password

封裝讀取引數或者資料方法

1、最終讀取的資料是多個字典的 list 型別資料,第一行資料就是字典裡的 key 值,從第二行開始一一對應 value 值

2、封裝好的程式碼如下:

3、執行結果

小結

1、在安裝xlrd模組的時候後邊,還有一些黃色的警告,小夥伴們不需要的擔心,翻譯看一下,是需要更新pip

 2、將提示的命令選中後,回車,另起一行貼上,執行即可將pip更新到最新版本

 3、小夥伴們可能發現在執行結果的顯示:只有出現數字就會有個.0,解決辦法:

  如果 excel 資料中有純數字的一定要右鍵》設定單元格格式》文字格式,要不然讀取的資料是浮點數(先設定單元格格式後編輯,編輯成功左上角有個小三角圖示)

  修改單元格式,執行程式碼結果:可以清楚看到.0沒有了

 4、好了關於python讀取Excel的內容,就先講解到這個,有興趣可以看其官方文件對錶格進行合併、樣式設定等等系列動作!!!

相關文章