2018 年使用 d3.js 读取没有标题行的 CSV 文件的最佳方法是什么?
CSV
"d1","d2","d3"
"dx","dy","dz"
"d4","d5","d6"
这是我从另一个 Stack 得到的:
d3.text("data.csv", function(text) {
const data = d3.csv.parseRows(text, function(d) {
return d.map(String);
});
console.log(data);
});
然而,我没有得到控制台输出。有什么错误?
最佳答案
由于您使用的是 D3 v5,该答案(已有 6 年历史)中描述的模式不再适用:与使用 XMLHttpRequest 的先前版本不同,新版本使用 promise 。
仅此一项就可以将您的问题视为重复问题。但是,我写这个答案是因为您的问题中缺少一段重要的代码:添加 的那段代码。标题行 .
因此,由于这是 v5,因此您必须使用以下模式:
d3.text("data.csv").then(function(data){
//....
})
在回调中,您必须添加第一行:
data = "foo,bar,baz\n" + data;
然后,您可以使用
d3.csvParse
解析它:var newData = d3.csvParse(data);
因为我们不能用
d3.text
在 S.O.片段,这是一个带有演示的 bl.ocks:https://bl.ocks.org/GerardoFurtado/8849016b91b41ae463408c747417af95/8b299a22639621ae7619628a5b10fb9257783b8d
关于javascript - 使用 d3.js (v5) 读取没有标题的 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50963482/