我有一个CSV文件作为我的数据集。我使用下面的代码加载它:
var dataset = d3.csv("mydata.csv");
我的问题是如何访问数据集var中的元素。在我检查时,dataset变量是一个对象。想象一下,我需要第4行和第7列中的数据元素,如何获取该数据呢?
答案 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