csv数据到d3中嵌套的json树

时间:2013-09-27 05:52:47

标签: javascript json csv tree d3.js

我有一个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
            }
          ]
        }
      ]
    }
  ]
}

我见过其他人解决[类似问题](Create hierarchy from csv in d3.js,但数据甚至是每个csv行都有n个元素。我的长度不同{{1 }}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

我会使用d3 nest函数来完成此任务。您可以在此处找到有关如何使用它的文档:http://bl.ocks.org/phoebebright/raw/3176159/

解决方案看起来像这样:

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