比如有这么一个字典:
{
'data__key_hello': "world",
'data__key_bar': "foo",
'data__a': "b",
'b': 'c',
}
转换之后变成
{
'data': {
'key': {
'hello': 'world',
'bar': 'foo'
},
'a': 'b',
},
'b': 'c'
}
就是以下划线进行一个分割
巴扎黑2017-05-18 10:56:23
凑合着用吧
d = {
'data__key_hello': "world",
'data__key_bar': "foo",
'data__a': "b",
'b': 'c',
}
n = {}
for k, v in d.items():
keys = k.replace('__', '_').split('_')
child = n
for i, key in enumerate(keys):
child = child.setdefault(key, {} if i < len(keys) - 1 else v)
print n