Giter Site home page Giter Site logo

node-convert-csv-to-array's Introduction

convert-csv-to-array

npm Travis branch Codecov branch

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 = 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
    • 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 } = 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', ',', ';' ...)
});

License

MIT © Lukas Aichbauer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.