【问题标题】:error while reading csv file using d3.js使用 d3.js 读取 csv 文件时出错
【发布时间】:2014-02-19 06:25:30
【问题描述】:

我是 d3.js 的新手,非常感谢任何帮助 csv 文件是

Year,Make,Model,Length
1997,Ford,E350,2.34
2000,Mercury,Cougar,2.38

代码是

d3.csv("../test/car.csv", function(d) {
  return {
    year: new Date(+d.Year, 0, 1), // convert "Year" column to Date
    make: d.Make,
    model: d.Model,
    length: +d.Length // convert "Length" column to number
  };
}, function(error, rows) {
  console.log(rows);
});

预期结果是

[
  {"Year": "1997", "Make": "Ford", "Model": "E350", "Length": "2.34"},
  {"Year": "2000", "Make": "Mercury", "Model": "Cougar", "Length": "2.38"}
]

但我收到以下错误 Uncaught SyntaxError: Unexpected token ILLEGAL

还显示长度为 86,但我在 csv 文件中只有 2 个条目,不确定发生了什么

【问题讨论】:

  • 你的脚本中有<!doctype html><meta charset="utf-8"> 吗? github.com/mbostock/d3/issues/1195#issuecomment-16262373 哪个 length 是 86?
  • 你实际上不需要创建一个javascript数据然后解析它。实际上,您可以像普通数字一样进行解析,您会得到预期的结果。

标签: javascript csv d3.js


【解决方案1】:

我想musicly_ut 评论将解决您的主要问题。但是,您也不会迭代您的数据。


d 中的数据是一个数组,每个条目都是一行。

因此,如果你这样做了:

d3.csv("../test/car.csv", function(d) {
  return d;
}, function(error, rows) {
  console.log(rows);
});

我猜你会得到想要的结果。

如果您想查看您的数据,您可以执行以下操作:

d3.csv("../test/car.csv", function(d) {
  d.forEach(function(data,index){
    // do something with row of index `index` with its data `data`
  })
}, function(error, rows) {
  console.log(rows);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-27
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多