openpyxl读取Excel文件
前言:为什么学openpyxl1、openpyxl是用来操作excel2、数据驱动(接口请求参数的数据都放在excel中)一、Excel 用例的组成接下来以名称为"case_data.xlsx"的Excel文件介绍openpyxl二、安装openpyxl1、首先需要安装 Python 环境,/2、使用 win+R 打开运行,输入框输入 cmd3、安装 openpyxlpip install ope
·
前言:为什么学openpyxl
1、openpyxl是用来操作excel
2、数据驱动(接口请求参数的数据都放在excel中)
一、Excel 用例的组成
接下来以名称为"case_data.xlsx"的Excel文件介绍openpyxl
二、安装openpyxl
1、首先需要安装 Python 环境,/
2、使用 win+R 打开运行,输入框输入 cmd
3、安装 openpyxl
pip install openpyxl
三、openpyxl 读取 Excel 文件
from openpyxl import load_workbook
#加载Excel
workbook_object = load_workbook(filename='case_data.xlsx') #将case_data.xlsx文件与Python文件放在同一级目录下,如果不在同一级目录,需要添加路径
#获取表单名称
names= workbook_object.sheetnames #获取表单的名称返回list
#获取表单对象
#方法一
shett_object=workbook_object['login']
#方法二
shett_object1=workbook_object.worksheets[0] #获取的表单返回的是list,所以可以通过索引取值
#获取单元格
#方法一
cell_object=shett_object['A1'] #获取得是单元格的对象“A1”,并非"A1"的值
print(cell_object.value) #通过对象.value 可以获取"A1"的值(单元格内容)
#方法二
cell_object1=shett_object.cell(1,1) #获取的是第一行第一列的值
print(cell_object1.value)
workbook_object.close() #读完表后关闭Excel
四、行列操作
from openpyxl import load_workbook
加载Excel
workbook_object = load_workbook(filename='case_data.xlsx')
#获取表单名称
shett_object = workbook_object.sheetnames[0]
行切片获取数据
result = shett_object.iter_rows(min_row=1, max_row=2, min_col=1, max_col=2, values_only=True)
# 行切片 (索引从1开始,int类型,切片原则是,两边都包含,包含起始索引值和结束索引值)
# min_row 起始行的索引值
# max_row 结束行的索引值
# min_col 起始列的索引值
# max_col 结束列的索引值
# values_only false:返回对象 true:返回单元格对应的数据
# 列切片与行切片相同,列切片使用 .iter_cols
print(list(result))
#打印出的结果是[('id', 'title'), (1, '登陆成功')]
五、数据封装
封装成一个类,接口测试框架中可以直接调用此方法
from openpyxl import load_workbook
class HandleExcel:
def __init__(self, file_name, sheet_name):
self.workbook_object = load_workbook(filename=file_name)
self.sheet_object = self.workbook_object[sheet_name]
def get_excel_tese_case(self):
cases_list = []
datas = list(self.sheet_object.iter_rows(values_only=True)) # 获取Excel表中的所有数据,按行显示,先是第一行的内容
# 将Excel表中的数据拼成字典
case_title = datas[0] # 获取表头
case_datas = datas[1:] # 获取表数据
for case in case_datas:
result = dict(zip(case_title, case))
cases_list.append(result)
self.close_file()
print(cases_list)
return cases_list
print(result)
def close_file(self):
self.workbook_object.close()
if __name__ == '__main__':
cl = HandleExcel(file_name='case_data.xlsx', sheet_name='login')
cl.get_excel_tese_case()
更多推荐
已为社区贡献1条内容
所有评论(0)