javascript - 如何从 D3.js 中的 csv 文件创建嵌套对象数组?

标签 javascript csv d3.js

这个问题使用的数据和我之前的一个问题一样,但是问题不一样。我有一个如下所示的 csv 文件:

name,score,date
Bob,93,2014
Bob,85,2015
Barry,70,2015
...

没有两个人的名字相同,但一个人可以有多个条目。如何在 d3.csv 回调函数中创建一个如下所示的数组?:

[{name: "Bob", values: [
   {score: 93, date: 2014},
   {score: 85, date: 2015}]}
 {name: "Barry", values: [
   {score: 70, date: 2015}]},
...

通常我可以使用纯 javascript 执行此操作,但使用 arrayName[objectIndex].objectPropertyName 访问属性值在 d3 回调函数中不起作用。

最佳答案

d3.nest()将您的 csv 数据转换为键值对的函数。看this plnkr链接以查看控制台中的对象。要获取最小最大数据,请参阅 this updated plnkr .

d3.csv("data.csv", function(error, data) {
    console.log(data);
    var updated = d3.nest().key(function(d) {
        return d.name;
    }).sortKeys(d3.ascending).entries(data);
    console.log(updated);
})

关于javascript - 如何从 D3.js 中的 csv 文件创建嵌套对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32637068/

相关文章:

javascript - 向数据表添加额外的列

javascript - 跨浏览器兼容性问题

javascript - 如何调试 D3 中的 data() 调用?

javascript - 在 Choropleth 中突出显示状态

javascript - Canvas 工具提示出现在 Canvas 外?

javascript - Angular 模式形式数组长度

javascript - Jasmine Tdd 第一次尝试

python - 我想将多个段落提取到一个 csv 文件中,但我希望它们在不同的列中而不是在一个大列中

mysql - 从 Rails 应用程序将 csv 导入多个 mysql 数据库

python - csv 将所有行写入一列 python