Skip to content

Parse csv files via stream or parse any csv stream from other sources in Node.js for different usecases like batch processing, database insertion, logging, file creation & data transformations etc. Support for large csv files added.

License

Notifications You must be signed in to change notification settings

ayushpratap2494/parse-csv-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code style: prettier

parse-csv-stream

Parse csv files via stream or parse any csv stream from various sources in Node.js for different usecases like batch processing, database insertion, logging, file creation & data transformations etc. Support for large csv files added.

Example:

const parse_csv = require('parse-csv-stream');
const fs = require('fs');

const readStream = fs.createReadStream('./test.csv', 'utf8');
const writeStream = fs.createWriteStream('./test.json');

//default option.
const options = {
    // delimiter: ',',
    // wrapper: '"',
    // newlineSeperator: '\r\n'
};

const parser = new parse_csv(options);
const events = parser.events;

/*
There are 2 approaches you can take : 
[A.] events. 
[B.] streams.

There are 3 ways to handle data : 
[1.] Process each row seperately via events.
[2.] Process resultset (array of rows).
[3.] Pipe parsed stream.
 
 choose any one.
*/

// [A.] working with events.
events.on('data', (row) => {
    console.log(row); //process each row seperately.
})

readStream.on('data', (chunk) => {
   let resultset =  parser.parse(chunk); //process resultset (array of rows).
});

//[B.] Working with streams.
readStream.pipe(parser).pipe(writeStream); //pipe parsed stream.

Built With

  • Native Node.js modules
  • No external dependencies.

Authors

License

[MIT License] © Ayush Pratap

About

Parse csv files via stream or parse any csv stream from other sources in Node.js for different usecases like batch processing, database insertion, logging, file creation & data transformations etc. Support for large csv files added.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published