天天看點

自動化測試中,Excel 寫入 & 讀取操作簡介自動化測試中,Excel 寫入 & 讀取操作

自動化測試中,Excel 寫入 & 讀取操作

前述

在軟體測試工程師的工作過程中,想要薪資、技術崗位有一個晉升,總是無法避免要學習和接觸更多的技術,不是是在性能測試、安全測試,還是自動化測試上。而在自動化測試的程序中,往往是接口自動化測試的覆寫率會更加廣一點,實用性也更高。而想要提高這個代碼的複用性,或者說想讓代碼更加簡單、簡練一點,參數化一定是一個最佳的選中,那麼這個時候,Excel存儲資料會更加的友善,那麼我們把資料存放在了Excel文檔中時,我們要怎麼讀取呢? 今天我就來介紹下excel文檔的讀取把。~

Excel讀取:

一、Excel 資料的讀取流程
  1. 打開 Excel檔案;
  2. 選中sheet表格;
  3. 擷取資料;
二、Excel 操作的工作庫
  1. openpyxl ==> xlsx格式的excel進行讀取 & 編寫;
  2. xlrd ==> 從excel表格中讀取資料(xls、xlsx);
  3. xlwt庫 ==> 對excel進行修改,不支援xlsx 格式的修改;
  4. pandas ==> csv 資料分析(面向資料分析方向);
三、Excel 中openpyxl操作
  1. 安裝 ;

    ———— pip install openpyxl

  2. 打開Excel文檔 ;

    ———— workbook = openxl.open(‘demo.xlsx’)

  3. 選中sheet表格 ;

    ———— ws = workbook[‘login’]

  4. 擷取資料 ;

    —— 擷取第一行、第二列 ,cs = ws.cell(row = 1,column = 2)

    —— 擷取第一行、第二列的資料,cs = ws.cell(row = 1,column = 2).value

    ——擷取某一行資料 ,row_data = ws[2]

    ——擷取所有的行 ,row = list(ws.rows)

    ——擷取所有的資料 ,all_data = list(ws.values)

四、Excel 資料讀取(封裝成元組)
import openpyxl

class ExcelHandler:

    def __init__(self,fpath):
        self.fpath = fpath    # 初始化函數,定義fpath檔案

    def read(self,sheet_name):
        workbook = openpyxl.open(self.fpath)   # 打開表格
        worksheet = workbook[sheet_name]    # 擷取sheet表格
        data = list(worksheet.values)   # 擷取所有sheet表格的資料
        return data[1:]   #傳回處表頭以外的元組格式資料

if __name__ == '__main__':
    re = ExcelHandler('future_loan_data.xlsx')
    res = re.read('login')
    print(res)
    
    最後函數調用時,傳入的為一索引值: info[3]、info[4],可讀性不強
           
四、Excel 資料讀取(封裝成字典)
import openpyxl

class ExcelHandler:

    def __init__(self,fpath):
        self.fpath = fpath    #初始化函數

    def read(self,sheet_name):
        workbook = openpyxl.open(self.fpath)  # 打開檔案
        worksheet = workbook[sheet_name]    #擷取sheet表格
        data = list(worksheet.values)    # 擷取所有sheet資料
        key = data[0]   # 擷取key值
        all_data =[]
        for values in data[1:]:    # 循環value值
            data_dict = dict(zip(key,values))   通過zip函數,同時擷取key&value
            all_data.append(data_dict)  
        return all_data  # 傳回一字典格式資料

if __name__ == '__main__':
    re = ExcelHandler('future_loan_data.xlsx')
    res = re.read('login')
    print(res)

    函數調用:可通過字典的key來進行調用,可讀性會更強,
    如:info['json']、info['headers']等;
           
五、Excel 資料寫入操作
  1. 打開Excel文檔 ;

    ———— workbook = openxl.load_workbook(‘demo.xlsx’)

  2. 選中sheet表格 ;

    ———— ws = workbook[‘login’]

  3. 寫入資料 ;

    ———— ws.cell(row =1,column = 2 ).value = ‘haha’

  4. 儲存資料 ;

    ———— workbook.save(‘demo.xlsx’)

  5. 關閉表格 ;

    ———— workbook.close()

六、Excel 資料寫入封裝
import openpyxl

class ExcelHandler:

    def __init__(self,fpath):
        self.fpath = fpath

    def write(self,sheet_name,data,row,column):
        workbook = openpyxl.open(self.fpath)  # 打開表格
        ws = workbook[sheet_name]  #擷取sheet表格
        ws.cell(row = row,column = column).value = data   #寫入資料
        workbook.save(self.fpath)   # 儲存資料
        workbook.close()    # 關閉表格
        

if __name__ == '__main__':
    re = ExcelHandler('future_loan_data.xlsx')
    res = re.write('login',str(resp_body),row=int(info['case_id']+1,column = 9))
    print(res)
           

Excel的簡單操作,就先記錄到這把,還有很多可以擴充的地方,需要繼續學習提升。

日常雞湯:不要太過依賴别人會給你很多的教導或指點,很多東西真的要自己經曆、總結,最後才會成為自己的收獲,不要怕打擊怕累,相信堅持一定會有收獲的,fighting!!~

完結,撒花花花花花花··~~~~!!!1

繼續閱讀