javascript - csv数据到d3中的嵌套json树

标签 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 元素的意义上。我有不同长度的 n.

有人能帮忙吗?

最佳答案

我会使用 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);

关于javascript - csv数据到d3中的嵌套json树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19043561/

相关文章:

javascript - Jquery改变内容链接值

json - 如何在 Angular 2 中以表格形式访问 JSON 对象属性

java - Xml 到 Json 到 xml 可逆转换 json-lib

c# - OpenFileDialog 无法加载 CSV 文件,但可以加载 xls/xlsx Excel 文件

javascript - 如何在谷歌仪表板表中为 TR 赋值

javascript - 从 Rhino 调用脚本时,有没有办法在 javascript 函数中包含可选参数?

php - laravel 5 Controller 中的 CSV 导出

python - 在python中重新读取csv文件而不再次加载它

javascript - Node.JS 中的 `import` 支持是一个谎言

c# - 一旦我通过 RestSharp 发布它,我的 json 键就会转换为小写