搜尋

首頁  >  問答  >  主體

Python如何地櫃解析這種資料類型,data__key__hello = "world"

例如有這麼一個字典:

{
    'data__key_hello': "world",
    'data__key_bar': "foo",
    'data__a': "b",
    'b': 'c',
}

轉換之後變成

{
    'data': {
        'key': {
            'hello': 'world',
            'bar': 'foo'
        },
        'a': 'b',
    },
    'b': 'c'
}

就是以下劃線進行一個分割

黄舟黄舟2742 天前664

全部回覆(2)我來回復

  • 世界只因有你

    世界只因有你2017-05-18 10:56:23

    雷雷

    回覆
    0
  • 巴扎黑

    巴扎黑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

    回覆
    0
  • 取消回覆