我正在尝试解析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`));
答案 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
因为您没有将其转换为新数组,至少不会在您发布的代码中使用