1、测试用例文件TestCase.xlsx

2、编写Python文件进行读取

#!/usr/bin/env python
# -*- coding:utf-8 -*- import time
import xlrd class ReadExcel:
def __init__(self,excel_file):
self.excel_file = excel_file
self.case_id = 0 #用例ID
self.http_method = '' #接口http方法
self.request_name = '' #接口ming
self.request_url = '' #接口请求url
self.request_param = ''#请求参数
self.test_method = '' #测试方法
self.test_desc = '' #测试(用力)描述
self.result = '' #测试结果
self.reason = '' #失败原因 def read_excel(self):
excel_data = []
data = xlrd.open_workbook(self.excel_file)
table = data.sheet_by_index(0) #通过索引顺序获取
for i in range(1,table.nrows):
excel_data.clear()
if table.cell(i,7).value.replace('\n','').replace('\r','') != 'Yes':
continue
row_data = table.row_values(i)
self.case_id = str(int(table.cell(i, 0).value)).replace('\n','').replace('\r','')
self.test_desc = table.cell(i, 1).value.replace('\n','').replace('\r','')
#api_host = table.cell(i, 2).value.replace('\n','').replace('\r','')
self.request_url = table.cell(i, 3).value.replace('\n','').replace('\r','')
self.test_method = table.cell(i, 4).value.replace('\n','').replace('\r','')
self.request_param = table.cell(i, 5).value.replace('\n','').replace('\r','')
self.result = table.cell(i, 6).value
excel_data.append((self.case_id,self.test_desc,self.request_url,self.test_method,self.request_param,self.result))
yield excel_data

3、通过json.loads(str)将字符串转换成字典

import json

dict1 = json.loads(str)

读取的过程中一致出现问题:

解决方案如下:

有一个需求,需要用python把json字符串转化为字典

inp_str = " {'k1':123, 'k2': '345',’k3’,’ares’} "

import json
inp_str = " {'k1':123, 'k2': '345',’k3’,’ares’} "
print json.loads(a)

死活出不来结果,还报错,没搞明白。

最后,直接复制网上的代码,OK,运行成功,可是把我的inp_srt变量填进去,不行,报错;开始对比两个变量有什么不同,一直以为Python中双引号单引号可以随便用,意思不变;最后百度了知道json的标准格式:要求必须 只能使用双引号作为键 或者 值的边界符号,不能使用单引号,而且“键”必须使用边界符(双引号) 
改了后OK了。

#-*-coding:utf-8-*-
import json
inp_strr = '{"k1":123, "k2": "456", 'k3':"ares"}'
inp_dict = json.loads(inp_strr) # 根据字符串书写格式,将字符串自动转换成 字典类型
print inp_dict

今后如何避免:所有的json串均采用双引号。

002、Python中json字符串与字典转换的更多相关文章

  1. python中json与dict之间转换

    Python之dict(或对象)与json之间的互相转化 在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import js ...

  2. Python 中 JSON和dict的转换,json的使用

    一. 基础语法 在Python 的 json库中,共有四个方法.分别是: json.load() # 从文件中加载 json.loads() # 数据中加载 json.dump() # 转存到文件 j ...

  3. python中 将字符串和字典的相互转换

    1.首先引入json模块 # 引入json模块 import json 2.转换 #JSON到字典转化: dictinfo = json.loads(json_str) # 输出dict类型 字典到J ...

  4. python中的字符串 列表 字典

    字符串     一个有序的字符集合  不可变 1,可以使用for in语句进行迭代循环,返回元素    2,in类是于str.find()方法但是是返回布尔结果        str.find()返回 ...

  5. Python处理json字符串转化为字典

    有一个需求,需要用python把json字符串转化为字典 inp_str = " {'k1':123, 'k2': '345','k3','ares'} " import json ...

  6. js中Json字符串如何转成Json对象(4种转换方式)

    js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...

  7. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  8. python中用json存储列表字典等文件操作

    JSON字符串用json.dumps, json.loads JSON文件名用json.dump, json.load 由于需要在脚本重启后依旧能够记住之前所使用的列表内容, 故采用json存储列表文 ...

  9. python中json模块的使用

    Python自带json模块,它有loads.dumps.load和dump这4个功能,用于Json格式字符串和Python数据类型间进行转换. 一.json.loads() 把Json格式字符串解码 ...

随机推荐

  1. 【Java】Java注释 - 单行、块、文档注释

    简单记录,Java 核心技术卷I 基础知识(原书第10 版) 注释 我们在编写程序时,经常需要添加一些注释,用来描述某段代码的作用,提高Java源程序代码的可读性,使得Java程序条理清晰. 写代码的 ...

  2. 创建mysql帐户

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

  3. Python利用最优化算法求解投资内部收益率IRR【一】

    一. 内部收益率和净现值 内部收益率(Internal Rate of Return, IRR)其实要和净现值(Net Present Value, NPV)结合起来讲.净现值指的是某个投资项目给公司 ...

  4. 攻防世界—pwn—level2

    题目分析 题目提示 下载文件后首先使用checksec检查文件保护机制 使用ida打开,查看伪代码 搜索字符串发现/bash/sh 信息收集 偏移量 system的地址 /bin/sh的地址 编写脚本 ...

  5. oracle修改表栏位类型

    需求:ID栏位在创建的时候是varchar类型,后续要修改为number类型 因为oracle修改表栏位类型的时候需要栏位内没有数据,因此无法直接把ID从varchar修改为number 1.新建一个 ...

  6. Python执行程序实可视化_heartrate

    最近发现了一个Python程序执行的简单实时可视化神器,名字叫 heartrate,安装完运行可以看到下面这样的炫酷过程. 虽然很炫酷,但有点看不懂. 来解释下,左边的动态数字代表每行被触发的次数.变 ...

  7. Win2008 server R2重置登录密码Administrator

    1.PE方式修改密码 背景:https://www.cnblogs.com/Crazy-Liu/p/11245730.html 上述连接中的有AD域的机器系统使用哑巴式老毛桃等启动PE出现以下: 原因 ...

  8. Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」

    Compose 简介 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/compose/introduction.html Com ...

  9. WPF和MVVM的结合使用方法,不可错过

    Model:存储数据模型(类) 也在此业务逻辑,主要负责类文件的存储. ViewModel:连接View和Model,借助Command来负责界面的跳转和调用Model中方法来操作Model的数据. ...

  10. loj10014数列分段二

    10014. 「一本通 1.2 练习 1」数列分段 II 题目描述 对于给定的一个长度为 n 的正整数数列 A ,现要将其分成 m 段,并要求每段连续,且每段和的最大值最小. 例如,将数列 4,2,4 ...