_ _ _ _____ _______ __ | \ | | | | / ____|/ ____\ \ / / | \| | ___ __| | ___ | | | (___ \ \ / / | . ` |/ _ \ / _` |/ _ \| | \___ \ \ \/ / | |\ | (_) | (_| | __/| |____ ____) | \ / |_| \_|\___/ \__,_|\___| \_____|_____/ \/ New BSD License
Documentation is for the parser is available here.
Important
This readme cover the current version 0.2.x of the node csv parser.
The documentation for the current version 0.1.0 is available here.
Quick example
// node samples/string.js
var csv = require('csv');
csv()
.from( '"1","2","3","4"\n"a","b","c","d"' )
.to( console.log )
// Output:
// 1,2,3,4
// a,b,c,d
Advanced example
// node samples/sample.js
var csv = require('csv');
csv()
.from.stream(fs.createReadStream(__dirname+'/sample.in'))
.to.path(__dirname+'/sample.out')
.transform( function(data){
data.unshift(data.pop());
return data;
})
.on('record', function(data,index){
console.log('#'+index+' '+JSON.stringify(data));
})
.on('end', function(count){
console.log('Number of lines: '+count);
})
.on('error', function(error){
console.log(error.message);
});
// Output:
// #0 ["2000-01-01","20322051544","1979.0","8.8017226E7","ABC","45"]
// #1 ["2050-11-27","28392898392","1974.0","8.8392926E7","DEF","23"]
// Number of lines: 2
Migration
The functions 'from*' and 'to*' are now rewritten as 'from.' and 'to.'. The 'data' event is now the 'record' event. The 'data' now recieved a stringified version of the 'record' event.
Development
Tests are executed with mocha. To install it, simple run npm install
, it will install
mocha and its dependencies in your project "node_modules" directory.
To run the tests:
npm test
The tests run against the CoffeeScript source files.
To generate the JavaScript files:
make build
The test suite is run online with Travis against Node.js version 0.6, 0.7, 0.8 and 0.9.
Contributors
-
David Worms : <https://github.com/wdavidw>
-
Will White : <https://github.com/willwhite>
-
Justin Latimer : <https://github.com/justinlatimer>
-
jonseymour : <https://github.com/jonseymour>
-
pascalopitz : <https://github.com/pascalopitz>
-
Josh Pschorr : <https://github.com/jpschorr>
- Elad Ben-Israel: https://github.com/eladb
- Philippe Plantier: https://github.com/phipla
- Tim Oxley: https://github.com/timoxley
- Damon Oehlman: https://github.com/DamonOehlman
- Alexandru Topliceanu: https://github.com/topliceanu
- Visup: https://github.com/visup
- Edmund von der Burg: https://github.com/evdb
- Douglas Christopher Wilson: https://github.com/dougwilson
Related projects
- Pavel Kolesnikov "ya-csv": http://github.com/koles/ya-csv
- Chris Williams "node-csv": http://github.com/voodootikigod/node-csv