convert-csv-to-array
Convert a csv formatted string to an array
Table of Contents
Why?
I needed a simple way to convert csv formatted string to an array to display it in a table component.
Installation
$ npm i convert-csv-to-array -S
or
$ yarn add convert-csv-to-array
Functions
Take a look into the usage section for a detailed example.
convertCSVToArray
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.
const array = ;
Parameters
- data: a csv formatted string
- options: a object
- holds three keys: header, type and separator
- header: either
true
orfalse
, default:true
- type: either
'object'
or'array'
, default:'object'
- separator: the character which is the separator in your csv formatted string, default:
','
Usage
Some examples on how to use this library.
const convertCSVToArray = ;const converter = ; // would be a use input (upload) or read from a fileconst 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 = ; /* 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 = ; /* const arrayofArraysWithoutHeader = [ [1, 'Mark', 'Otto', '@mdo'], [2, 'Jacob', 'Thornton', '@fat'], [3, 'Larry', 'the Bird', '@twitter'], ];*/const arrayofArraysWithoutHeader = ; /* 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 = ;
License
MIT © Lukas Aichbauer