我正在尝试使用新版本的node-csv节点模块进行一些CSV操作。 node-csv
我过去曾使用过perl,但这次想尝试使用JavaScript。我无法弄清楚如何导入本地CSV文件而不是使用内置生成器。 node-csv的文档没有说明如何执行此操作(尽管它确实提供了以前版本的示例)。
以下是示例代码,按预期工作。
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');
以下是PREVIOUS版本的示例,该版本使用完全不同的语法:
// 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);
});
有什么建议吗?