CSV 数据到 D3 中的嵌套 JSON 树

csv data to nested json tree in d3

本文关键字:嵌套 JSON 数据 D3 CSV      更新时间:2023-09-26

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

根,y,i,5根,C,B,A,7根,c,b,z,2

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

{  "名称": "根",  "儿童":[    {      "名称": "y",      "儿童":[        {          "名称": "我",          "值":5        }      ]    },    {      名称:"C",      "儿童":[        {          "名称": "B",          "儿童":[            {              "名称": "a",              "值":7            },            {              "名称": "Z",              "值":2            }          ]        }      ]    }  ]}

我已经看到其他人解决了[类似的问题](在d3中从csv创建层次结构.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);