csv2

A Node Streams2 CSV parser

npm install csv2
8 downloads in the last day
71 downloads in the last week
195 downloads in the last month

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.

npm loves you