tft每日頭條

 > 科技

 > xlsx提取數據

xlsx提取數據

科技 更新时间:2025-03-21 04:25:22

自動化測試時,經常會提到數據驅動的概念。數據驅動是以數據來驅動整個測試用例的執行,即測試數據決定測試結果。Python中ddt模塊可以實現。python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。

如果測試數據寫入到excel文件中,該如何從中獲取數據呢?

  • 假設測試登錄功能的用例:
  • 正常賬号密碼登錄成功;
  • 錯誤賬号登錄失敗;
  • 錯誤密碼登錄失敗;
  • ......

根據當前系統數據,準備好三組測試用例的數據,寫入到excel表格中:

xlsx提取數據(xlrd實現從excel文件讀取數據)1

讀取數據使用xlrd(支持xls格式)示例:

# xlrd是第三方模塊需要安裝: pip install xlrd import xlrd def get_data_from_excel(filename,sheetname): # 創建工作簿對象 workbook = xlrd.open_workbook(filename) # 獲取sheet對象 sheet = workbook.sheet_by_name(sheetname) # 存放讀取到數據,列表 datas = [] # 獲取每列的列名存放到到keys keys = [sheet.cell_value(0, col) for col in range(sheet.ncols)] # 讀取數據 # 有幾行則循環幾次,并忽略第一行表頭的讀取 for row in range(1,sheet.nrows): # 存放一行中讀取到的所有内容,字典格式 line_data = {} # 循環遍曆一行中的所有單元格 for col in range(sheet.ncols): # 獲取到單元格内容後,在keys中找到其列名,存放到字典中 line_data[keys[col]] = sheet.cell_value(row, col) # 把讀取到一行内容添加到datas datas.append(line_data) # 返回讀取到的數據 return datas

附Xlrd常用操作如下:

打開excel:

path = r"d:\xlrd_test.xlsx" wb = xlrd.open_workbook(path, encoding_override="utf-8") table = wb.sheets()[0] # 根據索引獲取工作表 table = wb.sheet_by_index(0) # 根據索引獲取工作表 table = wb.sheet_by_name(r"三國演義") # 根據名程獲取工作表 names = wb.sheet_names() # 獲取所有工作表的名字 num = wb.nsheets # 獲取所有工作表數量 行[row]操作 total_rows = table.nrows # 獲取總行數 current_row_strudata = table.row(0) # 獲取該行所有的單元格數據類型和數據組成的列表 current_row_strudata = table.row_slice(0, startcolx=1, endcolx=4) # 獲取該行的列控制[切片]的單元格數據類型和數據組成的列表 current_row_types = table.row_types(3, startcolx=0, endcolx=None) # 獲取該行的列控制[切片]單元格的數據類型組成的列表 current_row_values = table.row_values(4, startcolx=3, endcolx=4) # 獲取該行的列控制[切片]單元格的數據組成的列表 current_row_len = table.row_len(0) # 獲取該行單元格個數 列[colnum]操作 total_cols = table.ncols # 獲取總列數 current_col_strudata = table.col(0, start_rowx=0, end_rowx=4) # 獲取該列的行控制[切片]單元格數據類型和數據組成的列表 current_col_strudata = table.col_slice(0, startrowx=0, endrowx=4) # 獲取該列的行控制[切片]單元格數據類型和數據組成的列表 current_col_types = table.col_types(3, startrowx=0, endrowx=None) # 該列的行控制[切片]單元格的數據類型組成的列表 current_col_values = table.col_values(2, startrowx=0, endrowx=1) # 該列的行控制[切片]單元格的數據組成的列表 cell = table.cell(0, 0) # 獲取 單元格對象 cell_type = table.cell_type(2, 3) # 獲取單元格數據類型 cell_value = table.cell_value(3, 3) # 獲取指定單元格數據

那麼怎麼在python操作excel時使用xlrd讀取數據就學習到這裡啦。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved