Sud*_*rya 49 python unicode dictionary
我有unicode u"{'code1':1,'code2':1}",我希望它以字典格式.
我希望它的{'code1':1,'code2':1}格式.
我试过,unicodedata.normalize('NFKD', my_data).encode('ascii','ignore')但它返回字符串而不是字典.
谁能帮我?
aga*_*aga 82
您可以使用内置ast包:
import ast
d = ast.literal_eval("{'code1':1,'code2':1}")
Run Code Online (Sandbox Code Playgroud)
帮助模块ast中的函数literal_eval:
literal_eval(node_or_string)
安全地评估表达式节点或包含Python表达式的字符串.提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和None.
pyr*_*ade 16
你可以用literal_eval.您可能还想确保创建一个字典而不是别的东西.而不是assert,使用自己的错误处理.
from ast import literal_eval
from collections import MutableMapping
my_dict = literal_eval(my_str_dict)
assert isinstance(my_dict, MutableMapping)
Run Code Online (Sandbox Code Playgroud)
Ala*_*ine 12
编辑:结果我的假设不正确; 因为键没有用双引号(")包装,所以字符串不是JSON. 请参阅此处了解一下这方面的一些方法.
我猜你所拥有的可能是JSON,又名JavaScript Object Notation.
您可以使用Python的内置json模块来执行此操作:
import json
result = json.loads(u"{'code1':1,'code2':1}") # will NOT work; see above
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67991 次 |
| 最近记录: |