Python python xlrd 从 Excel 取字典变成 str,有什么解决方法没

小幼稚园 · 2018年12月06日 · 最后由 hellohell 回复于 2018年12月06日 · 3054 次阅读


如何原本的取出来字典格式赋值到 data 里

共收到 17 条回复 时间 点赞

把 str 转换为 json 对象就可以了

取出来的是 str 格式,转成 dict 就好了

eval
json.dumps

Jerry li 回复

取出来是 “{}” 这样的

文贤平 回复

eval 何 dumps 都试过,类型还是 str

小幼稚园 回复

你的数据格式检查一下是否有问题,单引号和双引号混用可以吗?

Jerry li 回复

跟混用没关系吧,是不是不能这么取,只能造字典

小幼稚园 回复

例如这样:

import json

content = '{"message":"成功","id":123,"code":200}'
content = json.loads(content)
print(content['message'])

用 eval 转成字典类型的额~转不成功的话说明这个 str 不符合字典格式

Jerry li 回复

搞清楚了,跟引号有关系,感谢感谢

感谢诸位,引号的关系

你也可以把这个 str,循环一下,然后放到一个 json 里。相当于你自己写了一个把 str 转 json 的方法,这样最快了

zlp 回复

是的,是我造数据的问题,eval 没问题

黑山老妖 回复

我试下

In[3]: eval(" {'message': '[Errno 2] No such file', 'retMsg': '服务器内部错误', 'status': 'FAILURE'}")
Out[3]: {'message': '[Errno 2] No such file', 'retMsg': '服务器内部错误', 'status': 'FAILURE'}

eval 可以用,但有风险

把不是 json 的也转成功了. 比如楼上的例子;
是 json 的也转不成功, 比如 eval('{"key": null}')

小幼稚园 关闭了讨论 12月07日 17:04
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册