login.xls文件
read_excel.py文件
''' import xlrd def read_excel(): l1 = [] data = xlrd.open_workbook('login.xls') # 打开login.xls文件,获得句柄 sheet = data.sheet_by_index(0) # 获取第一个工作表(就是excel底部的sheet) for item in range(1, sheet.nrows): # nrows,返回该工作表有效行数 # print(sheet.row_values(item)) # row_values(num)读取num行整行数据,返回的是列表类型 l1.append(sheet.row_values(item)) return l1 # print(read_excel()) '''
test_excel_login.py文件
''' import pytest import requests import json from pytest_study.read_excel import * @pytest.mark.parametrize( 'data', read_excel() ) def test_excel_login_001(data): r = requests.post(url=data[0], data=json.loads(data[1])) assert r.json()['code']==json.loads(data[2])['code'] if __name__ == '__main__': pytest.main(['-v', '-s', 'test_excel_login.py']) '''
xlrd模块学习
1 打开Excel文件
''' data = xlrd.open_workbook('login.xls') # 犹如获得一个句柄 '''
2 工作表sheet的操作
''' table = data.sheets()[0] #通过索引顺序获取 table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取 table = data.sheet_by_name(sheet_name)#通过名称获取 以上三个函数都会返回一个xlrd.sheet.Sheet()对象 names = data.sheet_names() #返回book中所有工作表的名字 data.sheet_loaded(sheet_name or indx) # 检查某个sheet是否导入完毕 '''
3 行的操作
''' nrows = table.nrows #获取该sheet中的有效行数 table.row(rowx) #返回由该行中所有的单元格对象组成的列表 table.row_slice(rowx) #返回由该列中所有的单元格对象组成的列表 table.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表 table.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表 table.row_len(rowx) #返回该列的有效单元格长度 '''
4 列的操作
'''ncols = table.ncols #获取列表的有效列数 table.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表 table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表 table.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表 table.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表 '''
5 单元格的操作
''' table.cell(rowx,colx) #返回单元格对象 table.cell_type(rowx,colx) #返回单元格中的数据类型 table.cell_value(rowx,colx) #返回单元格中的数据 table.cell_xf_index(rowx, colx) # 暂时还没有搞懂 '''