Skip to content

phpmagician/csv-array

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#csv-array

Simple. lighweight, intelligent CSV-parser for nodeJS

Dependencies

This package got only one dependencies of "line-by-line".

Change log

  • Reduced number of variables used
  • Added option to "considerFirstRowAsHeading". See Usage Guide for details about using
  • Bug fix in data parsing
    • Truncation of data problem solved

Usage Guide

Installing

The installation is just a command

 npm install csv-array

After installing the package you can use the "parseCSV" method as follows

 parseCSV("CSV-file-name.csv", callBack, considerFirstRowAsHeading)
   /*
      Where callBack is the method which have the output array as argument, and you can do 
      anything you like inside the function with the array

      "considerFirstRowAsHeading" is a configuration variable which holds "true" value 
      by default. If it is true or nothing then the first row of the csv data will be considered 
      as heading and the out put data will use the first row's content as attribute names.
      If it is "false" then all of the rows of the file will be returned as array.

      See example below.
   */

Example

test.csv file contains

 Question Statement,Option 1,Option 2,Option 3,Option 4,Option 5,Answer,Deficulty,Category
this is a test question answer it?,answer 1,answer 2,answer3,answer 4,,answer 2,3,test
this is another test question answer it?,"answer1,answer2","answer2,answer3","answer4,answer5","answer5,answer6","answer7,answer8","answer1,answer2",2,test
 var csv = require('csv-array');
 csv.parseCSV("test.csv", function(data){
   console.log(JSON.stringify(data));
 });

Output

[  
   {  
      "Question Statement":"this is a test question answer it?",
      "Option 1":"answer 1",
      "Option 2":"answer 2",
      "Option 3":"answer3",
      "Option 4":"answer 4",
      "Option 5":"",
      "Answer":"answer 2",
      "Deficulty":"3",
      "Category":"test"
   },
   {  
      "Question Statement":"this is another test question answer it?",
      "Option 1":"answer1,answer2",
      "Option 2":"answer2,answer3",
      "Option 3":"answer4,answer5",
      "Option 4":"answer5,answer6",
      "Option 5":"answer7,answer8",
      "Answer":"answer1,answer2",
      "Deficulty":"2",
      "Category":"test"
   }
]
 var csv = require('csv-array');
 csv.parseCSV("test.csv", function(data){
   console.log(JSON.stringify(data));
 }, false);

Output

[  
   [  
      "Question Statement",
      "Option 1",
      "Option 2",
      "Option 3",
      "Option 4",
      "Option 5",
      "Answer",
      "Deficulty",
      "Category"
   ],
   [  
      "this is a test question answer it?",
      "answer 1",
      "answer 2",
      "answer3",
      "answer 4",
      "",
      "answer 2",
      "3",
      "test"
   ],
   [  
      "this is another test question answer it?",
      "answer1,answer2",
      "answer2,answer3",
      "answer4,answer5",
      "answer5,answer6",
      "answer7,answer8",
      "answer1,answer2",
      "2",
      "test"
   ]
]
 var csv = require('csv-array');
 csv.parseCSV("test.csv", function(data){
   console.log(JSON.stringify(data));
 }, true);
 /*
   The output will be as same as
   var csv = require('csv-array');
    csv.parseCSV("test.csv", function(data){
      console.log(JSON.stringify(data));
    });
 */

Output

[  
   {  
      "Question Statement":"this is a test question answer it?",
      "Option 1":"answer 1",
      "Option 2":"answer 2",
      "Option 3":"answer3",
      "Option 4":"answer 4",
      "Option 5":"",
      "Answer":"answer 2",
      "Deficulty":"3",
      "Category":"test"
   },
   {  
      "Question Statement":"this is another test question answer it?",
      "Option 1":"answer1,answer2",
      "Option 2":"answer2,answer3",
      "Option 3":"answer4,answer5",
      "Option 4":"answer5,answer6",
      "Option 5":"answer7,answer8",
      "Answer":"answer1,answer2",
      "Deficulty":"2",
      "Category":"test"
   }
]

About

Lightweight Intelligent CSV-parser for node-js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%