如何访问CSV文件的数据元素?

时间:2014-07-07 03:29:17

标签: javascript csv d3.js

我有一个CSV文件作为我的数据集。我使用下面的代码加载它:

var dataset = d3.csv("mydata.csv");

我的问题是如何访问数据集var中的元素。在我检查时,dataset变量是一个对象。想象一下,我需要第4行和第7列中的数据元素,如何获取该数据呢?

2 个答案:

答案 0 :(得分:0)

数据集仅在回调函数

中可用
d3.csv("mydata.csv", function(dataset) {
   dataset = data;
   console.log(dataset)
});

尝试这样的事情。

答案 1 :(得分:0)

d3的这一部分是异步的,这意味着您的javascript代码不会在该语句中等待,直到加载CSV数据为止,因为您可能习惯使用其他语言。相反,你告诉d3一旦数据可用就应该调用什么函数,并从那里开始工作。该函数可以在代码中的其他地方定义,也可以(更常见地)在d3函数调用中定义。一些例子:

/* Do something with every row */
d3.csv("mydata.csv", function(data) {
  /* Data has been read and is available as an array of 'row' objects */
  data.forEach(function(d) {
    /* Each row has the variable name 'd': 'columns' can be accessed as object properties */
    console.log(+d['Column name']}); //+d ensures conversion to numbers if that is what you need, at first everything is text
  }); //Close the function and .forEach(...) call
}); //Close the function AND the .csv(...) call

/* Just get one value */
d3.csv(csvfile, function(data) {
  /* Read data from row 4 and some column */
  console.log(+data[3]['Column name']}); //As before, but I'm assuming you know the name of column '7'
}); //Close the function AND the .csv(...) call