业务场景:线下门店收集客户就诊充值信息,以excel格式提供给技术,然后添加到医疗系统中
痛点:目前是手工添加,有时提供的数据较多,手工添加非常耗时
想法:用调用接口的形式实现即可,可以用jemter,postman等接口工具,如上截图,参数众多,且线下门店提供的数据不一定是准确的,需要在执行前做一下数据的校验,所以最终选择用python+request来实现,更灵活一点。
实现:
1、要实现读取excel的工具类
from openpyxl import load_workbook
class HandleExcel:
def __init__(self,file_name,sheet_name):
#创建表对象
self.wb = load_workbook(filename=file_name)
#创建sheet对象
self.sheet_obj = self.wb[sheet_name]
def get_cases(self):
case_list = []
cases = list(self.sheet_obj.iter_rows(values_only=True))
title = cases[0] #获取表头
values = cases[1:] #获取表数据
for case in values:
case_dict = dict(list(zip(title,case))) #将表数据和表头进行打包,变成dict
case_list.append(case_dict) #将每一个测试用例加到list当中,集中返回
self.__close_file()
return case_list
def __close_file(self):
self.wb.close()
2、首先对提供的用户数据进行校验,调用查询用户信息接口,用名字和vip号联合查询系统中是否存在这个用户,如果有回填vip编号,如果没有,说明线下门店提供的数据有问题,该条数据不做处理,不回填vip编号,以方便执行完脚本后,将vip编号为空的数据提供给线下门店排查,由于脚本中涉及敏感数据,就提供一下截图