【问题标题】:d3.js csv loading - simple data conversiond3.js csv加载——简单的数据转换
【发布时间】:2017-02-04 10:26:39
【问题描述】:

我正在使用 d3.csvfunction 加载一个 csv 文件

d3.csv(files[0],
    function (d) {

        return {
            col1: +d["col1"],
            col2: +d["col2"],
            col3: +d["col3"]            
        };           
    },
function(error, data) {...});

我使用function(d) 将所有数据转换为数字。有没有办法简化代码并处理所有列而不显式引用它们的名称?

【问题讨论】:

  • 嘿,您能解释一下您真正想要实现的目标以及您在变量 d 中获得的数据格式。
  • 我正在加载一个 csv 文件,所有数字。要被识别为数字,我需要运行那些 += 转换语句,它工作正常,但我想以一种我没有明确提及列名的方式来做。

标签: javascript csv d3.js


【解决方案1】:

你想重复做同样的事情。这需要一个循环(例如一个 for 循环或一个映射)。

function (d) {
  var result = {};
  for (key in d) {
    result[key] = +d[key];
  }
  return result;
}

【讨论】:

  • 太棒了!还有一个问题:我可以把这段代码放在我的第三个参数(function(error, data))中吗?
  • 一般来说,你可以在回调函数中做任何你喜欢的事情,因为这只是简单的 javascript。所以是的,你可以这样做。然而,转换通常在访问函数中完成。
猜你喜欢
  • 2013-03-23
  • 2013-11-09
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-10
  • 2023-03-07
相关资源
最近更新 更多