Socket
Socket
Sign inDemoInstall

csv-stringify

Package Overview
Dependencies
0
Maintainers
1
Versions
82
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
3M
increased by1.07%
Maintainers
1
Install size
877 kB
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

CSV stringifier for Node.js and the web

Build Status NPM NPM

The csv-stringify 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

Run npm install csv to install the full CSV module or run npm install csv-stringify if you are only interested by the CSV stringifier.

The module is built on the Node.js Stream API. Use the callback and sync APIs for simplicity or the stream based API for scalability.

Example

The API is available in multiple flavors. This example illustrates the sync API.

import { stringify } from 'csv-stringify/sync';
import assert from 'assert';

const output = stringify([
  [ '1', '2', '3', '4' ],
  [ 'a', 'b', 'c', 'd' ]
]);

assert.equal(output, '1,2,3,4\na,b,c,d\n');

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

The project is sponsored by Adaltas, an Big Data consulting firm based in Paris, France.

Keywords

FAQs

Last updated on 27 Feb 2024

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