Данные csv для вложенного дерева json в d3

У меня есть файл данных csv, который выглядит так:

root,y,i,5
root,c,b,a,7
root,c,b,z,2

Я хотел бы сгенерировать что-то похожее на файл данных flare.json следующим образом:

{
 "name": "root",
 "children": [
 {
 "name": "y",
 "children": [
 {
 "name": "i",
 "value": 5
 }
 ]
 },
 {
 name: "c",
 "children": [
 {
 "name": "b",
 "children": [
 {
 "name": "a",
 "value": 7
 },
 {
 "name": "z",
 "value": 2
 }
 ]
 }
 ]
 }
 ]
}

Я видел, как другие обращаются к [аналогичному вопросу] (создайте иерархию из csv в d3.js, но данные даже в том смысле, что каждая строка csv имеет ровно n элементов. Я имел разные длины n.

Может ли кто-нибудь помочь?

1 ответ

Я бы использовал функцию гнезда d3, чтобы выполнить это. Вы можете найти документацию о том, как его использовать здесь: http://bl.ocks.org/************/raw/3176159/

Решение будет выглядеть примерно так:

var nested_data = d3.nest()
 .key(function(d) { return d[0]; })
 .key(function(d) { return d[1]; })
 .entries(csv_data);

licensed under cc by-sa 3.0 with attribution.