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
Maintainers
1
Install size
526 kB
Created

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 NPM NPM

This package is a stringifier converting records into a CSV text and implementing the Node.js stream.Transform API. It also provides the easier synchronous and callback-based APIs for conveniency. It is both extremely easy to use and powerful. It was first released in 2010 and is tested against big data sets by a large community.

Documentation

Main features

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

Usage

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

const stringify = require('csv-stringify')
const assert = require('assert')
// import stringify from 'csv-stringify'
// import assert from 'assert/strict'

const input = [ [ '1', '2', '3', '4' ], [ 'a', 'b', 'c', 'd' ] ]
stringify(input, function(err, output) {
  const expected = '1,2,3,4\na,b,c,d\n'
  assert.strictEqual(output, expected, `output.should.eql ${expected}`)
  console.log("Passed.", output)
})

Development

Tests are executed with mocha. To install it, 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 build.

The test suite is run online with Travis. See the Travis definition file to view the tested Node.js version.

Contributors

Keywords

FAQs

Last updated on 03 Sep 2021

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