如何从nodejs中的csv文件中提取数据

时间:2015-09-30 17:13:02

标签: node.js csv

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

1 个答案:

答案 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