CSV 导入未定义的数据

CSV import undefined data

本文关键字:数据 未定义 导入 CSV      更新时间:2023-09-26

我在导入 d3 的.csv时遇到问题。我一直在关注

http://www.d3noob.org/2014/02/how-to-import-data-from-csv-file-with.htmlhttp://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html

作为 CSV 导入的模板。问题:我似乎无法访问我的任何 csv 列。当我尝试访问列时,我未定义。具体来说,我试图将此代码用作构建代码的示例。

d3.csv("data/force.csv", function(error, links) {
var nodes = {};
// Compute the distinct nodes from the links.
  links.forEach(function(link) {
      link.source = nodes[link.source] || 
         (nodes[link.source] = {name: link.source});
      link.target = nodes[link.target] || 
         (nodes[link.target] = {name: link.target});
      link.value = +link.value;
});

我的代码看起来很相似:

d3.csv("../assets/datastore/transitions.csv", function(error, data){
if(error) return console.warn(error);
var nodes = {};
data.forEach(function(d){console.log("This is the source " + d.source)});
//Compute distinct nodes from links
data.forEach(function(link){
    console.log("This is the source" + data.source);
    links.source = nodes[links.source] || (nodes[links.source] = {name: links.source});
    links.target = nodes[links.target] || (nodes[links.target] = {name: links.target})
    links.value = + links.value;
});

我甚至简化了我的代码,并尝试只访问基准面的最基本元素。

d3.csv("../assets/datastore/transitions.csv", function(error, data){
if(error) return console.warn(error);
var nodes = {};
data.forEach(function(d){console.log("This is the source " + d.source)})

最后,似乎正在读取我的数据,因为当我使用 firebug 时,我确实在 DOM 下注册了 81 个元素作为节点。

如果您能暗示一个潜在的解决方案,那就太好了。

确保 csv 的格式设置为用逗号分隔值,而不是用逗号 + 空格分隔。将语言句子中使用的间距分隔标准强加于数据格式是一个常见的错误,因为它们也是语法的。

似乎应该link以下代码中的links;

links.source = nodes[links.source] || (nodes[links.source] = {name: links.source});
links.target = nodes[links.target] || (nodes[links.target] = {name: links.target})
links.value = + links.value;

先检查一下,看看进展如何。

看起来你正在做一些很好的问题解决,继续努力。