csv-json-convertor

A simple csv-json convertor


Keywords
csv, json, convert-csv-to-json, convert-json-to-csv, bash, csv-converter, csv-json-convertor, javascript, nodejs, npm, wsl
License
ISC
Install
npm install csv-json-convertor@2.0.0

Documentation

Converter banner

npm (tag) npm GitHub last commit licence

Overview

Csv-json-convertor, as its name implies, is a simple csv-json conversion tool. You can use it to easily convert csv files to json objects and/or files, as well as the other way around (convert json files to csv).

Installation

Install via npm: npm install csv-json-convertor
NPM

Usage

After installing, import and use in your project as follows:

CSV to JSON

// require destructured toJSON function
const { toJSON } = require('csv-json-convertor');

// convert csv file
toJSON('path/to/csvFile.csv', api => {
    // log or use object (result from the conversion)
    console.log(api.data); 
    // save new .json file (./csvFile.json by default) to current directory
    api.save() 
});

You can specify save options such as filename, prettify and spaces as in the following examples
By default:
filename: name of the csv file
prettify: false
spaces: 1

// filename
toJSON('path/to/csvFile.csv', api => {
    const options = {
        filename: newJsonFile
    };
    api.save(options); 
    // Output: newJsonfile.json, not prettified
}); 

// filename, prettify 
toJSON('path/to/csvFile.csv', api => {
    const options = {
        filename: newJsonFile,
        prettify: true
    };
    api.save(options); 
    // Output: newJsonFile.json, prettified using a spacing of 1
}); 

// filename, prettify, spaces
toJSON('path/to/csvFile.csv', api => {
    const options = {
        filename: `newJsonFile`,
        prettify: true,
        spaces: 2
    };
    api.save(options); 
    // Output: ./newJsonFile.json, prettified using a spacing of 2
}); 

Preview of conversion to json

JSON to CSV

The toCSV method is quite the opposite of toJSON

// require destructured toCSV function
const { toCSV } = require('csv-json-convertor');

// convert csv file
toCSV('path/to/jsonFile.json', api => {
    // log or use string (result from the conversion)
    console.log(api.data);
    // save new .csv file (./jsonFile.csv by default) to current directory 
    api.save();
});

The save method accepts an options object which currently contains just one property, filename, with which you can specify the name of the new file to be saved.

// filename
toJSON('path/to/jsonFile.json', api => {
    const options = {
        filename: `newCsvFile`
    };
    api.save(options); 
    // Output: ./newCsvFile.csv
}); 

Contributing

I need help with writing a good documentation for this project. Also, any ideas or suggestions on new features, enhancements and performance improvement are very welcome.
Feel free to contribute in anyway you can.