簡體   English   中英

使用每個唯一列的嵌套 json 將 csv 轉換為 json

[英]convert csv to json using nested json for each unique column

我有一個像這樣的 csv 文件:

a   b   c   d   e   f
1   3   6   11  16  21
1   4   7   12  16  21
2   3   8   13  18  23
2   4   9   14  18  23
2   5   10  15  18  23

我想從這個 csv 生成 json,json 看起來像

{
 {"a":1,
 "data":[{"b":3,"c":6,"d":11},{"b":4,"c":7,"d":12}],
 "e":16,
 "f":21},
{"a":2,
 "data":[{"b":3,"c":8,"d":13},{"b":4,"c":9,"d":14}, 
 {"b":5,"c":10,"d":15}],
 "e":18,
 "f":23}
}

這里e和f對於每個a都是固定的,只有b,c,d在變化。 如何使用 python 做到這一點。

groupbyapplyto_dict用於嵌套字典,然后通過to_json轉換為 json :

j = (df.groupby(['a','e','f'])['b','c','d']
       .apply(lambda x: x.to_dict('r'))
       .reset_index(name='data')
       .to_json(orient='records')
       )

print (j)

[{
    "a": 1,
    "e": 16,
    "f": 21,
    "data": [{
        "b": 3,
        "c": 6,
        "d": 11
    }, {
        "b": 4,
        "c": 7,
        "d": 12
    }]
}, {
    "a": 2,
    "e": 18,
    "f": 23,
    "data": [{
        "b": 3,
        "c": 8,
        "d": 13
    }, {
        "b": 4,
        "c": 9,
        "d": 14
    }, {
        "b": 5,
        "c": 10,
        "d": 15
    }]
}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM