Skip to content

Instantly share code, notes, and snippets.

@JonathanMH
Last active January 15, 2016 11:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JonathanMH/27b2e293cec1647f16c7 to your computer and use it in GitHub Desktop.
Save JonathanMH/27b2e293cec1647f16c7 to your computer and use it in GitHub Desktop.
newline problem with node-csv-parse
We can make this file beautiful and searchable if this error is corrected: It looks like row 2 should actually have 5 columns, instead of 6. in line 1.
Name,Gender,"preferred language",startDate,endDate
Barbara McFinley,Female,JavaScript,2015-13-01,,
var fs = require('fs');
var csv = require('csv');
var readableStream = fs.createReadStream('employee.csv');
var parser = csv.parse();
var transformer = csv.transform(function(data){
return data.map(function(value){return value.toUpperCase()});
});
var stringifier = csv.stringify();
readableStream.on('readable', function(){
while(data = readableStream.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);
}
});
// % node index.js ~/work/fast-csv
// NAME,GENDER,PREFERRED LANGUAGE,STARTDATE,ENDDATE
var fs = require('fs');
var csv = require('csv');
var readableStream = fs.createReadStream('employee.csv');
var parser = csv.parse();
var transformer = csv.transform(function(data){
return data.map(function(value){return value.toUpperCase()});
});
var stringifier = csv.stringify();
readableStream.on('readable', function(){
while(data = readableStream.read()){
parser.write(data);
}
});
readableStream.on('end', function(){
parser.end();
})
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);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment