Numbers Prefer Multiplication

    csv2jsonfile
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.3 • Public • Published

    csv2jsonfile

    Build StatusCodecovnpmnpm bundle size

    A Tool convert CSV to JSON or JS Object with NO Dependencies.

    Install

    npm install --save csv2jsonfile

    or

    yarn add csv2jsonfile

    see from npm package.

    Usage

    note: the csv file must have header(used as key), like the example below:

    city,level,alias
    Shanghai,3,SH
    Chongqing,3,SQ
    Jinan,4,JN 
    

    CSV to JSON

    const csv2jsonfile = require('csv2jsonfile');
    const path = require('path');
    const sourcePath = path.resolve(__dirname, 'data.csv'); 
    const targetPath = path.resolve(__dirname, 'result.json');
     
    // default convert CSV with header
    csv2jsonfile(sourcePath, targetPath)
      .then((time) => {
        console.log(`use: ${time} ms`);
      })
      .catch((err) => {
        console.log(err.message);
      })
    // result in result.json
    /*
    [
      {
        city: "Shangehai",
        level: "3",
        alias: "SH"
      },
      {
        city: "Chongqing",
        level: "3",
        alias: "CQ"
      },
    ]
    */
    // CSV without header
    csv2jsonfile(sourcePath, targetPath, { header: false })
      .then((time) => {
        console.log(`use: ${time} ms`);
      })
      .catch((err) => {
        console.log(err.message);
      })

    CSV to JavaScript Object

    var csv2jsonfile = require('csv2jsonfile');
    csv2jsonfile.inline('data.csv')
      .then((obj) => {
        console.log(obj)
      })
      .catch((err) => {
        console.log(err);
      })
    // CSV without header
    csv2jsonfile.inline('data.csv', { header: false })
      .then((obj) => {
        console.log(obj);
      })
      .catch((err) => {
        console.log(err);
      })

    API

    /**
     * convert csv to json file
     * @param {string} sourcePath absolute path of csv file 
     * @param {string} targetPath absolute path of json file
     * @param {object} options default { header: true }
     * @return {Promise} ms usage through convert progress
     */
    csv2jsonfile(sourcePath, targetPath, options?)
     
    /**
     *  convert csv to javascript object
     * @param {string} sourcePath absolute path of csv file
     * @param {object} options default { header: true }
     * @return {Promise} the object after convert
     */
    csv2jsonfile.inline(sourcePath, options?)

    ChangeLog

    v1.2.0

    1. Delete targetPath file if it exists before convert.(no need to manuallt clear)
    2. add No Header CSV support.

    If the CSV without header, It will be converted into Array each line. E.g:

    // data.csv => data.json
    // 1. without header
    [
      ["Shanghai", "3", "SH"],
      ["Chongqing", "3", "CQ"],
      ["Jinan", "4", "JN"]
    ]
    // with header
    [
      {
        "city": "Shanghai",
        "level": "3",
        "alias": "SH"
      },
      {
        "city": "Chongqing",
        "level": "3",
        "alias": "CQ"
      },
      {
        "city": "Jinan",
        "level": "4",
        "alias": "JN"
      }
    ]
    1. fix bug: if there are no new empty line(\n) at the end of the file, may cause confusion.

    Install

    npm i csv2jsonfile

    DownloadsWeekly Downloads

    0

    Version

    1.2.3

    License

    ISC

    Unpacked Size

    6.74 kB

    Total Files

    5

    Last publish

    Collaborators

    • limoer