Convert a csv formatted string to an array
npm install convert-csv-to-array


> Convert a csv formatted string to an array
* Why?
* Installation
* Functions
* Usage
* License
I needed a simple way to convert csv formatted string to an array to display it in a table component.
``sh`
$ npm i convert-csv-to-array -S
or
`sh`
$ yarn add convert-csv-to-array
Take a look into the usage section for a detailed example.
> Note: you can also use the default export.
This function converts a csv formatted string into an array of objects, or into an array of arrays.
#### Syntax
Returns a new array.
`js`
const array = convertCSVToArray(data, options);
##### Parameters
* data: a csv formatted string
* options: a object
* holds three keys: header, type and separator
* header: either true or false, default: true'object'
* type: either or 'array', default: 'object'','
* separator: the character which is the separator in your csv formatted string, default:
Some examples on how to use this library.
`js
const { convertCSVToArray } = require('convert-csv-to-array');
const converter = require('convert-csv-to-array');
// would be a use input (upload) or read from a file
const data = 'number;first;last;handle\n1;Mark;Otto;@mdo\n2;Jacob;Thornton;@fat\n3;Larry;the Bird;@twitter\n';
/*
const arrayofArrays = [
['number', 'first', 'last', 'handle'],
[1, 'Mark', 'Otto', '@mdo'],
[2, 'Jacob', 'Thornton', '@fat'],
[3, 'Larry', 'the Bird', '@twitter'],
];
*/
const arrayofArrays = convertCSVToArray(data, {
type: 'array',
separator: ';', // use the separator you use in your csv (e.g. '\t', ',', ';' ...)
});
/*
const arrayofObjects = [
['number', 'first', 'last', 'handle'],
{
number: 1,
first: 'Mark',
last: 'Otto',
handle: '@mdo',
},
{
number: 2,
first: 'Jacob',
last: 'Thornton',
handle: '@fat',
},
{
number: 3,
first: 'Larry',
last: 'the Bird',
handle: '@twitter',
},
];
*/
const arrayofObjects = convertCSVToArray(data, {
separator: ';', // use the separator you use in your csv (e.g. '\t', ',', ';' ...)
});
/*
const arrayofArraysWithoutHeader = [
[1, 'Mark', 'Otto', '@mdo'],
[2, 'Jacob', 'Thornton', '@fat'],
[3, 'Larry', 'the Bird', '@twitter'],
];
*/
const arrayofArraysWithoutHeader = convertCSVToArray(data, {
header: false,
type: 'array',
separator: ';', // use the separator you use in your csv (e.g. '\t', ',', ';' ...)
});
/*
const arrayofObjectsWithoutHeader = [
{
number: 1,
first: 'Mark',
last: 'Otto',
handle: '@mdo',
},
{
number: 2,
first: 'Jacob',
last: 'Thornton',
handle: '@fat',
},
{
number: 3,
first: 'Larry',
last: 'the Bird',
handle: '@twitter',
},
];
*/
const arrayofObjectsWithoutHeader = convertCSVToArray(data, {
header: false,
separator: ';', // use the separator you use in your csv (e.g. '\t', ',', ';' ...)
});
``
MIT © Lukas Aichbauer