Skip to content
A Node Streams2 CSV parser
JavaScript
Find file
Latest commit 87b5065 May 10, 2014 @rvagg 0.1.1
Failed to load latest commit information.
.gitignore initial commit Aug 1, 2013
.jshintrc initial commit Aug 1, 2013
.travis.yml travisify Aug 1, 2013
LICENSE
README.md typo, code example simplification Aug 1, 2013
csv2.js Depend directly on the bundled readable-stream. May 10, 2014
package.json 0.1.1 May 10, 2014
test.js Simple jshint fix. May 10, 2014

README.md

csv2

Build Status

NPM

A Node Streams2 CSV parser

Will parse an input character stream and pass on an array for each line of CSV data.

csv2 can handle basic CSV quoting and escaping: foo,"bar","wut? ""whoa!""","commas, in, my, strings??"

The only main "feature" not currently supported is newlines within quoted strings; newlines are treated strictly as row separators.

fs.createReadStream('data.csv')
  .pipe(csv2())
  .on('data', console.log)

Or, use through2 to transform your CSV into JSON:

fs.createReadStream('data.csv')
  .pipe(csv2())
  .pipe(through2({ objectMode: true }, function (chunk, enc, callback) {
    this.push({
        name    : chunk[0]
      , address : chunk[3]
      , phone   : chunk[10]
    })
    callback()
  }))
  .on('data', console.log)

API

csv2([ options ])

The optional options object is passed through to the stream.Through class. You can supply a 'separator' option to change the default separator from ',' to whatever your data is using.

License

csv2 is Copyright (c) 2013 Rod Vagg @rvagg and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.

Something went wrong with that request. Please try again.