@happycyj/csvparse
v1.0.1
Published
csvparse is a module parse CSV string to an array includes object element. The purpose of this module is to preprocess machine learning.
Downloads
2
Readme
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.