1
csv文件,我有以下的Node.js代码:node.js的解析与懒惰
new lazy(fs.createReadStream('file.csv'))
.lines
.forEach(function(line){
console.log(line.toString());
});
不过,我只得到最后一行数据的这种方式。是 CSV文件的内容如下:
123,破
12345,被盗
1234567,失去
什么我错在这里做什么?
我也有同样的文件,此代码:
fs.readFile(req.files.file.path, 'utf8', function (err, data) {
if (err) throw err;
var lines = data.split(/\r?\n/);
console.log(lines);
});
它返回下面的数组:
[ '123,broken\r12345,stolen\r1234567,lost' ]
因此,你的文件被破坏了,它应该是'\ r \ n'而不仅仅是'\ r';这在你自己的测试中很明显。 – Chad
请详细说明 – user1175817
库(和''data.split()')查找'\ r \ n'(回车,换行符)或'\ n'(换行符)。但是,您的csv文件正在使用'\ r'作为行分隔符。这是不正确的;使用'\ r \ n'或'\ n'编写你的csv文件。 – Chad