Socket
Socket
Sign inDemoInstall

csv-stringify

Package Overview
Dependencies
0
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    csv-stringify

CSV stringifier implementing the Node.js `stream.Transform` API


Version published
Weekly downloads
2.5M
decreased by-19.67%
Maintainers
1
Created
Weekly downloads
 

Package description

What is csv-stringify?

The csv-stringify npm package is a module that provides the ability to convert arrays or objects into a CSV (Comma-Separated Values) string. It can be used to generate CSV files or strings from JavaScript data structures, supporting both the Node.js stream API and a simple callback-based API.

What are csv-stringify's main functionalities?

Stringifying an array of records

This feature allows you to convert an array of arrays (representing records) into a CSV string. Each sub-array is a row in the CSV output.

const stringify = require('csv-stringify');
const records = [['1', '2', '3'], ['a', 'b', 'c']];
stringify(records, (err, output) => {
  if (err) throw err;
  console.log(output);
});

Stringifying from a stream

This feature demonstrates how to use csv-stringify with Node.js streams. Data can be piped into the stringify function, which then outputs a CSV formatted stream.

const stringify = require('csv-stringify');
const { Readable } = require('stream');
const records = new Readable({
  objectMode: true,
  read() {}
});
records.push(['1', '2', '3']);
records.push(['a', 'b', 'c']);
records.push(null);
records.pipe(stringify()).pipe(process.stdout);

Stringifying objects with column headers

This feature allows you to convert an array of objects into a CSV string, including column headers as the first row in the output.

const stringify = require('csv-stringify');
const records = [{ id: '1', name: 'John Doe' }, { id: '2', name: 'Jane Doe' }];
stringify(records, { header: true }, (err, output) => {
  if (err) throw err;
  console.log(output);
});

Other packages similar to csv-stringify

Readme

Source

Build Status

Part of the [CSV module][csv_home], this project is a stringifier converting arrays or objects input into a CSV text. It implements the Node.js [stream.Transform API][stream_transform]. It also provides a simple callback-based API for convenience. It is both extremely easy to use and powerful. It was first released in 2010 and is used against big data sets by a large community.

Documentation for the "csv-stringify" package is available here.

Features

  • Follow the Node.js streaming API
  • Simplicity with the optional callback API
  • Support delimiters, quotes, escape characters and header
  • Support big datasets
  • Complete test coverage and samples for inspiration
  • no external dependencies
  • to be used conjointly with csv-generate, csv-parse and stream-transform
  • BSD License

Usage

Refer to the project webpage for an exhaustive list of options and some usage examples.

The module is built on the Node.js Stream API. For the sake of simplify, a simple callback API is also provided. To give you a quick look, here's an example of the callback API:

var stringify = require('csv-stringify');

input = [ [ '1', '2', '3', '4' ], [ 'a', 'b', 'c', 'd' ] ];
stringify(input, function(err, output){
  output.should.eql('1,2,3,4\na,b,c,d');
});

Development

Tests are executed with mocha. To install it, simple run npm install followed by npm test. It will install mocha and its dependencies in your project "node_modules" directory and run the test suite. The tests run against the CoffeeScript source files.

To generate the JavaScript files, run npm run coffee.

The test suite is run online with Travis against the versions 0.10, 0.11 and 0.12 of Node.js.

Contributors

Keywords

FAQs

Last updated on 09 Jun 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc