metersphere用python脚本将sql查询多个结果存储成字典的list格式

1、自定义的sql脚本:查询出共有多少行数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/1605a9e43a9e4cbc8a14d34bf9cd5021.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pyq5b-F5p2l6L-f,size_20,color_FFFFFF,t_70,g_se,x_16

2、自定义的sql脚本:在这里插入图片描述
3、使用后置脚本中的python代码(注意,现在使用的默认版本是python2)

import json

num=int(vars.get("itemNum_1")) # 获取行数,并设置成整数

outData=[] #输出结果存储为一个list

#定义字典中已知的数据(不需要从数据库中查询到的数据)

for i in range(1,num+1):
#处理从数据库中查询到数据
    temp={
        "aiEnglishName":vars.get("ai_english_name_"+str(i)),
        "aiName":vars.get("ai_name_"+str(i)),
        "aiOrder":vars.get("ai_order_"+str(i)),
        "category":vars.get("category_"+str(i)),
        "dictCode":vars.get("data_type_code_"+str(i)),
        "id":vars.get("id_"+str(i)),
        "isUnique":vars.get("is_unique_"+str(i)),
        "paiCode":vars.get("ai_english_name_"+str(i)),
        "paiId":vars.get("id_"+str(i)),
    }
    temp["apCode"]="${apCode_mysql}"
    temp["apName"]="${apName_mysql}"
    temp["apId"]="${apId_mysql}"
    temp["atype"]="基础类"
    temp["dataPrecision"]=""
    temp["dictValue"]=""
    temp["dirId"]="${dirId}"
    temp["groupPackageSort"]=""
    temp["groupUpdateTime"]=""
    temp["isPublish"]=""
    temp["packagePath"]=""
    temp["showIndex"]=0
    temp["itemType"]="1"

    outData.append(temp)

#1.将list格式转成unicode的string(后面replace()和decode()必须是string格式) 
#2.将unicode中的u'替换成'
#3.将unicode解码成中文
#4.将字符串中的单引号替换成双引号(字典格式是双引号)
#5.将None换成null,因为从数据库中查到空值显示成None,但是python不识别None
strData=str(outData).replace(': u\'',': \'').decode('unicode-escape').replace("'","\"").replace("None","null")
#log.info(str(type(strData)))
#log.info("strData is:")
#log.info(strData)

vars.put("outMysqlData",strData)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值