csv-to-deep-json
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

csv-to-deep-json

Transforms csv-string to 'deep' js object structure.

Documentation

// if you have an array of comma-separated-strings you can just pass that array
export function buildObjectsFromCsv(csvStringArray: string[]): any[]

// if you have all data in single string (f.e. if you read it from a file)
// you can pass that single string and specify delimiter, and lib split that string for you
export function buildObjectsFromCsvString(csv: string, delimiter: string): any[];

Example

  • Given excel table:
name dob.year NUMBER dob.month NUMBER dob.days NUMBER friends [,] isAlive BOOLEAN moneyHave STRING
Ivan 1993 1 3 Kolya,Marina TRUE 200 USD
Piter 1857 5 26 FALSE 0 USD
Kolya 2004 11 7 Ivan,Marina TRUE 1000 UAH
  • transformed to csv via xlsx library:
name,dob.year NUMBER,dob.month NUMBER,dob.days NUMBER,"friends [,]",isAlive BOOLEAN,moneyHave STRING\nIvan,1993,1,3,"Kolya,Marina",TRUE,200 USD\nPiter,1857,5,26,,FALSE,0 USD\nKolya,2004,11,7,"Ivan,Marina",TRUE,1000 UAH
  • or if split by \n:
name,dob.year NUMBER,dob.month NUMBER,dob.days NUMBER,"friends [,]",isAlive BOOLEAN,moneyHave STRING
Ivan,1993,1,3,"Kolya,Marina",TRUE,200 USD
Piter,1857,5,26,,FALSE,0 USD
Kolya,2004,11,7,"Ivan,Marina",TRUE,1000 UAH
  • use lib to convert that csv data to json:
const csvStrings: string[] = [...];
const csv_to_json = require("csv-to-deep-json");
const data: any[] = csv_to_json.buildObjectsFromCsv(csvStrings);
console.log(JSON.stringify(data));
  • output:
    [
      {
        "name": "Ivan",
        "dob": {
          "year": 1993,
          "month": 1,
          "days": 3
        },
        "friends": [
          "Kolya",
          "Marina"
        ],
        "isAlive": true,
        "moneyHave": "200 USD"
       },
       {
        "name": "Piter",
        "dob": {
          "year": 1857,
          "month": 5,
          "days": 26
        },
        "friends": null,
        "isAlive": false,
        "moneyHave": "0 USD"
      },
      {
        "name": "Kolya",
        "dob": {
          "year": 2004,
          "month": 11,
          "days": 7
        },
        "friends": [
          "Ivan",
          "Marina"
        ],
        "isAlive": true,
        "moneyHave": "1000 UAH"
      }
    ]

Readme

Keywords

Package Sidebar

Install

npm i csv-to-deep-json

Weekly Downloads

2

Version

0.1.0

License

Apache-2.0

Unpacked Size

33.4 kB

Total Files

13

Last publish

Collaborators

  • knowledgeexpert