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.
- 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
andstream-transform
- MIT License
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.
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');
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.
The project is sponsored by Adaltas, an Big Data consulting firm based in Paris, France.
- David Worms: https://github.com/wdavidw