var fs = require('fs');
var csv = require('csv');
csv()
.from.stream(fs.createReadStream('nodetest.csv'))
.to.array(function(data, count) {
var lastLine = data.slice(-1)[0];
var needed = lastLine.slice(-1)[0];
console.log(needed);
});
我试图从csv文件中提取一些数据。让我们说我的csv文件包含这些行
ABB|BCC|CDD|DEE
eff|fgg||ghh|hii
ijj|JKK|kll|LMM
我只需从最后一行中提取kll
答案 0 :(得分:3)
我猜你正在使用这个npm模块:csv。
您可以使用更简单的代码来解析CSV。为了提取所需的价值,您可以这样做:
var fs = require('fs');
var csv = require('csv');
var parser = csv.parse({delimiter: '|'}, function(err, data){
var lastRow = data[data.length-1];
var wantedValue = lastRow[lastRow.length-2];
console.log(wantedValue);
});
fs.createReadStream(__dirname+'/file.csv').pipe(parser);
请注意,此代码是静态的,但它符合您的要求。您的CSV必须保持不变。请注意,我将|
设置为分隔符。默认情况下,CSV使用逗号分隔符(因此命名为逗号分隔值)。
可以找到解析器的文档here。