csv 数据到 d3 中的嵌套 json 树 [英] csv data to nested json tree in d3

查看:29
本文介绍了csv 数据到 d3 中的嵌套 json 树的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像这样的 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}]}]}]}

我见过其他人解决了[类似问题](从csv 在 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);

I have a csv data file which looks like this

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

I'd like to generate something similar to the flare.json data file like this:

{
  "name": "root",
  "children": [
    {
      "name": "y",
      "children": [
        {
          "name": "i",
          "value": 5
        }
      ]
    },
    {
      name: "c",
      "children": [
        {
          "name": "b",
          "children": [
            {
              "name": "a",
              "value": 7
            },
            {
              "name": "z",
              "value": 2
            }
          ]
        }
      ]
    }
  ]
}

I've seen others address a [similar question](Create hierarchy from csv in d3.js, but the data is even in the sense that every csv row has exactly n elements. I have varied lengths of n.

Can anyone help?

解决方案

I would use the d3 nest function to accomplish this. You can find documentation on how to use it here: http://bl.ocks.org/phoebebright/raw/3176159/

The solution would look something like this:

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

这篇关于csv 数据到 d3 中的嵌套 json 树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆