我有一个看起来像CSV数据:
数据
1,1,10
1,2,50
1,3,5
etc...
我试图在数据读取。 然而,我的初始数据不包含一个标题行(如上所见),所以它走的是第一个数据行是头(1,1,10)。 有没有办法解决。 我想我读出的数据后设置的头名
使用Javascript
d3.csv("data/testnh.csv", function(data) {
console.log(data);
}
谢谢!
我有一个看起来像CSV数据:
1,1,10
1,2,50
1,3,5
etc...
我试图在数据读取。 然而,我的初始数据不包含一个标题行(如上所见),所以它走的是第一个数据行是头(1,1,10)。 有没有办法解决。 我想我读出的数据后设置的头名
d3.csv("data/testnh.csv", function(data) {
console.log(data);
}
谢谢!
使用d3.text加载数据,然后d3.csvParseRows解析它。 例如:
d3.text("data/testnh.csv", function(text) {
console.log(d3.csvParseRows(text));
});
你可能也想将列转换为数字,因为他们会默认字符串。 假设他们都是数字,你可以说:
d3.text("data/testnh.csv", function(text) {
var data = d3.csvParseRows(text).map(function(row) {
return row.map(function(value) {
return +value;
});
});
console.log(data);
});
由于博斯托克在2012回答, d3.csv.parseRows允许一个可选的存取功能,能够更简洁地表达了自己的答案:
d3.text("data/testnh.csv", function(text) {
var data = d3.csv.parseRows(text, function(d) {
return d.map(Number);
});
// Now do something with data
});
使用在第一数据读取d3.text
,然后添加自定义首部的字符串,则解析与所述结果d3.csv.parse
d3.text("data/testnh.csv", function(r){
var result = "x, y, z\n" + r; //now you have the header
var data = d3.csv.parse(result);
//do your plotting with data
}
尝试d3.csvParse(文本)
d3.csv.parseRows似乎在现代D3版本不起作用。