Node.js node-csv模块 – 使用本地CSV文件

我正在尝试使用新版本的node-csv节点模块来执行一些CSV操作。 节点CSV

我过去使用过perl,但是这次想尝试JavaScript。 我无法弄清楚如何导入本地CSV文件,而不是使用内置的生成器。 node-csv的文档没有显示如何做到这一点,据我所知(尽pipe它提供了一个以前的版本的例子)。

下面是示例代码,它按预期工作。

var csv = require('csv'); var generator = csv.generate({seed: 1, columns: 2, length: 20}); var parser = csv.parse(); var transformer = csv.transform(function(data){ return data.map(function(value){return value.toUpperCase()}); }); var stringifier = csv.stringify(); generator.on('readable', function(){ while(data = generator.read()){ parser.write(data); } }); parser.on('readable', function(){ while(data = parser.read()){ transformer.write(data); } }); transformer.on('readable', function(){ while(data = transformer.read()){ stringifier.write(data); } }); stringifier.on('readable', function(){ while(data = stringifier.read()){ process.stdout.write(data); } }); 

我打算使用FS模块,但不知道如何将本地文件传递到node-csv函数中。

 var fs = require('fs'); 

这里是前一个版本的例子,它使用完全不同的语法:

 // node samples/sample.js var csv = require('csv'); var fs = require('fs'); csv() .from.stream(fs.createReadStream(__dirname+'/sample.in')) .to.path(__dirname+'/sample.out') .transform( function(row){ row.unshift(row.pop()); return row; }) .on('record', function(row,index){ console.log('#'+index+' '+JSON.stringify(row)); }) .on('end', function(count){ console.log('Number of lines: '+count); }) .on('error', function(error){ console.log(error.message); }); 

有什么build议么?