node package manager



Build Status


A ligthweight simple-stream transform for parsing a character stream.

Example that creates a csv stream from a file and print rows 10 to 20:

var csvStream = require('csv-simple-stream')
var streamUtils = require('simple-stream')
var stream = csvStream.fromFile('input.csv', {from: 10, to: 20})
streamUtils.forEach(stream, console.log)

The resulting simple-stream can be used with the simple-stream module to apply transformations or write to a sink.


fromLines(lineStream, [options]) -> stream


  • toObjects: transform the rows from arrays to objects according to the csv header
  • from: start iteration on the specified row index (index is inclusive)
  • to: end iteration on the specified row index (index is inclusive)

fromFile(path, options) -> stream

Same options as fromLines.

toLines(dataStream, options) -> stream

Creates a stream that transforms arrays or objects to CSV formatted lines.


  • objects (default: false): defines whether the source iterator returns arrays or objects
  • columns (optional): If objects: true this option will configure the columns that are output.

toFile(dataStream, path, [options]) -> continuable

Convenience function that uses toLines to write directly to a file.


  • same as toCSV options
  • encoding (default utf8)