Flatten nested dictionaries, compressing keys

前端 未结 28 2702
遇见更好的自我
遇见更好的自我 2020-11-22 01:16

Suppose you have a dictionary like:

{\'a\': 1,
 \'c\': {\'a\': 2,
       \'b\': {\'x\': 5,
             \'y\' : 10}},
 \'d\': [1, 2, 3]}

Ho

28条回答
  •  日久生厌
    2020-11-22 01:50

    Or if you are already using pandas, You can do it with json_normalize() like so:

    import pandas as pd
    
    d = {'a': 1,
         'c': {'a': 2, 'b': {'x': 5, 'y' : 10}},
         'd': [1, 2, 3]}
    
    df = pd.io.json.json_normalize(d, sep='_')
    
    print(df.to_dict(orient='records')[0])
    

    Output:

    {'a': 1, 'c_a': 2, 'c_b_x': 5, 'c_b_y': 10, 'd': [1, 2, 3]}
    

提交回复
热议问题