epan / csvToJson

Convert CSV file to JSON

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CSVtoJSON

Build Status Code Climate NPM Version Downloads

This project is not dependent on others packages or libraries.

Table of Contents

  1. Description
  2. Prerequisites
  3. Install npm convert-csv-to-json package
  4. Usage
  5. License

Description

Converts csv files to JSON files with Node.js.

Give an input file like:

first_name last_name email gender age
Constantin Langsdon clangsdon0@hc360.com Male 96
Norah Raison nraison1@wired.com Female 32

e.g. :

first_name;last_name;email;gender;age
Constantin;Langsdon;clangsdon0@hc360.com;Male;96
Norah;Raison;nraison1@wired.com;Female;32

will generate:

[
 {
  "first_name": "Constantin",
  "last_name": "Langsdon",
  "email": "clangsdon0@hc360.com",
  "gender": "Male",
  "age": "96"
 },
 {
  "first_name": "Norah",
  "last_name": "Raison",
  "email": "nraison1@wired.com",
  "gender": "Female",
  "age": "32"
 }
]

Prerequisites

NPM (see Installing Npm).

Install npm convert-csv-to-json package

Go to NPM package convert-csv-to-json.

Install

Install package in your package.json

$ npm install convert-csv-to-json --save

Install package on your machine

$ npm install -g convert-csv-to-json

Usage

Generate JSON file

let csvToJson = require('convert-csv-to-json');

let fileInputName = 'myInputFile.csv'; 
let fileOutputName = 'myOutputFile.json';

csvToJson.generateJsonFileFromCsv(fileInputName,fileOutputName);

Generate Array of Object in JSON format

let csvToJson = require('convert-csv-to-json');

let json = csvToJson.getJsonFromCsv("myInputFile.csv");
for(let i=0; i<json.length;i++){
    console.log(json[i]);
}

Define field delimiter

As default the filed delimiter is the semicolon (;). You can define another field delimiter by call the function fieldDelimiter(myDilimiter). If you want that the field delimiter is a ~:

 csvToJson.fieldDelimiter('~') .getJsonFromCsv(fileInputName);

Format property value by type

If you want that a number will be printed as a Number type and not as a String type, use:

 csvToJson.formatValueByType().getJsonFromCsv(fileInputName);

In this case the result will be:

[
 {
  "first_name": "Constantin",
  "last_name": "Langsdon",
  "email": "clangsdon0@hc360.com",
  "gender": "Male",
  "age": 96
 },
 {
  "first_name": "Norah",
  "last_name": "Raison",
  "email": "nraison1@wired.com",
  "gender": "Female",
  "age": 32
 }
]

The property age is printed as

 "age": 32

instead of

  "age": "32"

License

CSVtoJSON is licensed under the GNU General Public License v3.0 License.

About

Convert CSV file to JSON

License:GNU General Public License v3.0


Languages

Language:JavaScript 100.0%