[英]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 做到這一點。
將groupby
與apply
和to_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.