通过csv迭代

时间:2018-03-23 07:08:34

标签: javascript node.js

我正在尝试解析csv:

col1,col2,col3
a,b,1
d,e,2

当我运行以下代码时

var fs = require("fs");
var d3 = require("d3");

fs.readFile("test.csv", "utf8", function(error, data) {
        var data = JSON.stringify(d3.csvParse(data));
        data.map((item, i) => console.log(`Hello ${item.col1} this ${item.col2} there are ${item.col3} blabla`));
});

我得到TypeError:data.map不是函数

以下情况正常。

var data = [{ "col1":"a","col2":"b","col3":1},
            { "col1":"d","col2":"e","col3":2}]

data.map((item, i) => console.log(`Hello ${item.col1} this ${item.col2} there are ${item.col3} blabla`));

1 个答案:

答案 0 :(得分:1)

d3.csvParse返回一个数组,但是你将它转换为一个字符串:

var data = JSON.stringify(d3.csvParse(data));

字符串当然没有.map。您可能想要遍历数组:

const newData = d3.csvParse(data);
newData.forEach((item, i) => console.log(`Hello ${item.col1} this ${item.col2} there are ${item.col3} blabla`));

(不要使用.map因为您没有将其转换为新数组,至少不会在您发布的代码中使用