目前读取Excle数据有2种方式xrld和pandas。pandas读取数据默认过滤标题,代码也很简洁。最主要的是读取的速度比xrld要快。
一、使用xlrd读取数据
1.1判断文件格式是否是xlrd开头
依赖包:xlrd == 1.2.0
安装依赖包:pip3 install xlrd == 1.2.0
import xlrd
def read_exce(rule=".xlsx"): #判断文件是否以
try:
filename = "../casefile/case.xlsx" #文件地址
if filename.endswith(rule):
wb = xlrd.open_workbook(filename)
ws = wb.sheet_by_name('Esat') #sheet名称
except Exception as e:
errorMsg = str(e)
log.error("文件格式异常:%s" % errorMsg)
1.2读取数据返回List
all_cases = [] #定义一个list数组 用来储存返回数据
for r in range(1, ws.nrows):
case_data = {}
for c in range(ws.ncols):
data_value = ws.cell_value(r, c)
case_data[ws.cell_value(0, c)] = data_value
# all_cases[ws.cell_value(r,0)]=case_data
# 将返回的dict装入list
print(type(all_cases))
all_cases.append(case_data)
return all_cases
附上完整代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/7/19 3:59 下午
# @Name : peilun
# @File : readexcel.py
# @Software: PyCharm
import os
import xlrd
from comment.log import *
'''
读取Excel 测试用例 并将用例dict组合成list
'''
def read_exce(rule=".xlsx"):
try:
filename = "../casefile/case.xlsx"
if filename.endswith(rule):
wb = xlrd.open_workbook(filename)
ws = wb.sheet_by_name('Esat')
all_cases = []
for r in range(1, ws.nrows):
case_data = {}
for c in range(ws.ncols):
data_value = ws.cell_value(r, c)
case_data[ws.cell_value(0, c)] = data_value
# all_cases[ws.cell_value(r,0)]=case_data
# 将返回的dict装入list
print(all_cases)
all_cases.append(case_data)
return all_cases
except Exception as e:
errorMsg = str(e)
log.error("文件格式异常:%s" % errorMsg)
case = read_exce()
print(type(case))
二、使用pandas读取数据
依赖包:pytest == 6.1.0
安装依赖包:pip3 install pytest == 6.1.0 \ pandas == 1.3.2
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/6/28 2:38 下午
# @Name : peilun
# @Software: PyCharm
import pandas as pd
import pytest
'''
:pandas读取excel测试数据
'''
def read_exce(rule=".xlsx"):
try:
filename = "../casefile/case.xlsx"
if filename.endswith(rule):
data = pd.read_excel(filename,sheet_name='Esat') #文件地址和 sheet名称
datavalues = data.to_dict('records') # 将每行接口数据转换为字典 to_dict('records')格式固定
print(datavalues)
return datavalues
else:
pass
except Exception as e:
errorMsg = str(e)
print("文件格式异常:%s" % errorMsg)
read_exce()
read_excel方法说明
pd.read_excel(filename, sheet_name=0, header=0, skiprows=1, keep_default_na=False )
filename | 文件地址 |
---|---|
sheet_name | 返回指定sheet名称 |
header | 指定表头,也可用列表指定多行 |
usecols | 读取指定的列数据 |
skiprows | 跳过第2行,为了是过滤掉列表头 |
keep_default_na | False 避免出现 空数据变成 None |
完整代码 包含(钉钉/飞书)推送/报警:去下载
结合 Docker+Jenkins自动化环境部署 即可完成完美的线上服务监控 (还在等什么?快去试试吧!!!)
小白即可搭建自动化环境