2015-10-06 161 views
0

给定特定的行号,是否有办法在CSV文件中获取该行的数据,以便我可以处理该数据?使用Node.JS获取CSV中的特定行数据

我希望这样做,这样我可以跟踪我得到和操纵哪些行。

每个CSV模块实际上读取整个文件并解析数据,但我只需要引用而不是在文件被更改时加载整个文件。

我该怎么做?

这是我的Node.js代码:

var csv = require('csv'); 
var fs = require('fs'); 
var str = csv().from.stream(fs.createReadStream('test.csv')) 
str.transform(function(row){ 
    row.unshift(row.pop()); 
    return row; 
}) 
.on('record', function(row,index){ 
    console.log('#'+index+' '+JSON.stringify(row)); 
}); 

回答

0

可能是你需要的东西:https://www.npmjs.com/package/get-line

获取CSV文件的报头中的第一行(如果有的话),得到行你想要连接两条线,用\n分开,并使用你平常的csv解析器来解析它,并得到一个很好的对象。

+0

var getLine = require('get-line'); var fs = require('fs'); var rs = fs.createReadStream('test.csv') // get line from line 10000 to 10010 var getLine = getLine({lines:[100,1500],newline:'\ n'},cb ); (line){ console.log(line); //返回数据的数组范围 } 获取输入什么 – Labeo

+0

你错过了的例子中最重要的一行:'rs.pipe(函数getline)' – Shanoor

+0

一些测试后,我看到了这个库多恩斯将任何参数传递给回调函数,因此您应该将其传递给您的csv流:https://www.npmjs.com/package/csv#pipe-example – Shanoor

相关问题