1.0.1 • Published 1 year ago

@happycyj/csvparse v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

README

csvparse is a module parse CSV string to an array includes object element. The purpose of this module is to preprocess machine learning.

Update

Version 1.0.1 About the second parameter of parse function, if you need type convert, please set it to true. This function add a parameter in the last. It's default value is undefined, if it is set to this value, it will convert type follow the title string of csv file. If you set it to an array includes strings express types, it will convert type follow the array.

INSTALL

npm i --save @happycyj/csvparse

Example

If you has a file named demo.csv in the same directory of your NodeJS script. It has the following content:

id_int,name,price_float
1,orange,3.2
2,lemon,5.0
3,pear,5.3

In the NodeJS script,

const fs=require("fs");
const csv=require("@happycyj/csvparse);
const src=fs.readFileSync("./demo.csv").toString();

let dist=csv.parse(src);

The dist will be:

[
  { id_int: '1', name: 'orange', price_float: '3.2' },
  { id_int: '2', name: 'lemon', price_float: '5.0' },
  { id_int: '3', name: 'pear', price_float: '5.3' }
]

If you change the last sentence to

let dist=csv.parse(src,true);

The dist will be:

[
  { id_int: 1, name: 'orange', price_float: 3.2 },
  { id_int: 2, name: 'lemon', price_float: 5 },
  { id_int: 3, name: 'pear', price_float: 5.3 }
]

Functions

function parse(csvstring:string,autoTypeConvert?:boolean=false,includeTitle?:boolean=true,titles?:string[]=[]):object[];

This function will parse the string of CSV file to an array. If the csv file includes titles at the first row, set the includeTitle to true will get the titles automitically. If this file not includes titles, please set this parameter to false, and set titles parameter manually.

function splitOne(obj:object,inputTitles:string[],outputTitles:string[]):object;

This function will convert an element of parsed array to an object. This object has property input and output.

function split(arr:object[],inputTitles:string[],outputTitles:string[]):object[];

This function is equivalent to use splitOne for all elements of the array.

1.0.1

1 year ago

1.0.0

1 year ago