Python+Unittest接口自动化测试(四)--使用Python操作Excel
一、xlrd模块初体验
1. xlrd的一些基本用法
# coding:utf-8 import xlrd #导入xlrd库 file = 'G:\ImoocInterface\excel\interface_test.xlsx' #excel文件地址 data = xlrd.open_workbook(file) #打开interface_test.xlsx文件 shuliang = data.nsheets #获取sheet数量 print(shuliang) sheet_names = data.sheet_names() #获取sheet名称 print(sheet_names) print(sheet_names[0]) #获取第一个sheet标签的名字 sheet1 = data.sheet_by_index(0) #根据sheet索引获取内容 sheet2 = data.sheet_by_name('Sheet2') #根据sheet名称获取内容 sheet3 = data.sheet_by_name('Sheet4') print(sheet1) print(sheet2) print(sheet3) #获取该sheet的总行数 rows = sheet1.nrows print(rows) #获取该sheet的总列数 cols = sheet1.ncols print(cols) row_data_1 = sheet1.row_values(0) #获取第一行内容 row_data_2 = sheet2.row_values(1) cor_data_1 = sheet1.col_values(0) #获取第一列内容 print(row_data_1) print(row_data_2) print(cor_data_1) #从第二行开始,遍历每一行的内容 for t in range(1, rows): row_value = sheet1.row_values(t) print(row_value) cell_value1 = sheet1.cell_value(0, 0) #获取第一行,第一列数据。索引从0开始 cell_value2 = sheet1.cell_value(2, 3) #获取第二行,第四列数据 print(cell_value1) print(cell_value2)
附Excel文件截图:
运行结果:
二、把操作Excel的模块封装成函数
1. 整理之前写的程序片段,封装成函数
# coding:utf-8 import xlrd #导入xlrd库 # data = xlrd.open_workbook('G:\ImoocInterface\excel\interface_test.xlsx') # tables = data.sheets()[0] # print(tables.nrows) # print(tables.cell_value(2,3)) class OperationExcel: def __init__(self, file_name=None, sheet_id=None): if file_name: self.file_name = file_name self.sheet_id = sheet_id else: self.file_name = 'G:\ImoocInterface\excel\interface_test.xlsx' self.sheet_id = 0 self.data = self.get_data() #获取sheets的内容 def get_data(self): data = xlrd.open_workbook(self.file_name) tables = data.sheets()[self.sheet_id] return tables #获取单元格的行数 def get_lines(self): tables = self.data return tables.nrows #获取某一个单元格的内容 def get_cell_value(self, row, col): return self.data.cell_value(row, col) if __name__ == '__main__': opers = OperationExcel() print(opers.get_data().nrows) print(opers.get_lines()) print(opers.get_cell_value(1, 2))
附Excel表格截图:
运行结果:
IN A WORLD LIKE THIS
萬物之中,希望至美;至美之物,永不凋零