从d3.js中的csv.parse()读入不起作用

时间:2015-07-07 00:11:42

标签: javascript d3.js

这有效:

var test=d3.csv("ford.csv");
console.log("test: "+test);

返回空:

var testA=d3.csv.parse("ford.csv");
console.log("testA: "+testA);

这是控制台日志的视觉效果:

enter image description here

我正在使用3.5.5版本,任何想法在这里发生了什么?

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

您的第一个示例通过文件名获取文件并解析csv文件。第二个示例获取文件的CONTENTS字符串并解析它们。例如,

d3.csv("filename.csv", function(){...});

VS

d3.csv.parse("Red, Green, Yellow\nApple, Pear, Lemon...");

答案 1 :(得分:1)

你读过docs了吗?

d3.csv是一个asysnc方法,它将 http路径带到csv文件并立即返回一个对象。当它完成时触发一个回调参数。它通常用作:

  d3.csv('ford.csv',function(data){
    console.log(data);
  })

  [Object, Object]
  0: Object
     Length: "2.34"
     Make: "Ford"
     Model: "E350"
     Year: "1997"

d3.csv.parse采用字符串。它解析它并返回一个对象数组:

console.log(d3.csv.parse("Year,Make,Model,Length\n1997,Ford,E350,2.34\n2000,Mercury,Cougar,2.38"))

  [Object, Object]
  0: Object
     Length: "2.34"
     Make: "Ford"
     Model: "E350"
     Year: "1997"