如何将格式错误的字符串转换为字典?
发布时间:2020-12-20 11:24:43 所属栏目:Python 来源:网络整理
导读:我有一个字符串s(注意a和b没有用引号括起来,所以它不能直接被评估为dict): s = '{a:1,b:2}' 我想将此变量转换为这样的dict: {'a':1,'b':2} 我怎样才能做到这一点? 解决方法 因为你的字符串格式错误,因为json和Python都是dict所以你们都不能使用json.loads
我有一个字符串s(注意a和b没有用引号括起来,所以它不能直接被评估为dict):
s = '{a:1,b:2}' 我想将此变量转换为这样的dict: {'a':1,'b':2} 我怎样才能做到这一点? 解决方法
因为你的字符串格式错误,因为json和Python都是dict所以你们都不能使用json.loads而不是ast.literal_eval来直接转换数据.
在这种特殊情况下,您必须通过了解输入数据手动将其转换为Python字典 >>> foo = '{a:1,b:2}' >>> dict(e.split(":") for e in foo.translate(None,"{}").split(",")) {'a': '1','b': '2'} 由Tim更新,我的短视我错过了值应该是整数的事实,这是一个替代实现 >>> {k: int(v) for e in foo.translate(None,") for k,v in [e.split(":")]} {'a': 1,'b': 2} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |