CSV 文件数据:
parent_name, child_name
A1, A2
A1, A3
A1, A4
A1, A5
A2, A12
A2, A16
A2, A18
A2, A19
输出:要制作的 Javascript 对象
{
name: A1,
children: [
{
name: A2,
children: [
{
name: A4,
children: []
}
]
},
{
name: A3,
children: []
}
}
基本上,我必须转换一个 CSV 文件才能在 d3 中创建一个树。我想知道如何制作 CSV 文件所需的字典
d3.csv("test1.csv").then(function (data) {
var dataset = {};
data.forEach(function (d,i){
console.log(d.parent_name, d.child_name);
if(i === 0){
dataset["name"] = d.parent_name;
dataset["children"] = [];
}
if (dataset["name"] === d.parent_name){
dataset.children.push(NodeMaker(d.child_name))
}
});
function NodeMaker(name){
return {"name": name, "children": []};
}
console.log(dataset);
});
所以这是代码,我只有一个类似字典的代码,它不会比根节点的第一级更深
{
name: A1,
children: [
{
name: A2,
children: []
},
{
name: A3,
children: []
}
]
}