csv 数据到 d3 中的嵌套 json 树

by0*_*by0 1 javascript csv tree json d3.js

我有一个看起来像这样的 csv 数据文件

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

我想生成类似于flare.json数据文件的内容,如下所示:

{
  "name": "root",
  “孩子们”: [
    {
      "name": "y",
      “孩子们”: [
        {
          "name": "我",
          “价值”:5
        }
      ]
    },
    {
      名称:"c",
      “孩子们”: [
        {
          "name": "b",
          “孩子们”: [
            {
              "name": "a",
              “价值”:7
            },
            {
              "name": "z",
              “价值”:2
            }
          ]
        }
      ]
    }
  ]
}

我见过其他人解决了 [类似问题](从 d3.js 中的 csv 创建层次结构,但数据甚至在每个 csv 行都具有精确n元素的意义上。我有不同长度的n.

任何人都可以帮忙吗?

Sol*_*mon 5

我将使用 d3 嵌套函数来完成此操作。您可以在此处找到有关如何使用它的文档: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);
Run Code Online (Sandbox Code Playgroud)