#csv-array
Simple. lighweight, intelligent CSV-parser for nodeJS
Showing friendly Error Messages and LineNumber
This package got only one dependencies of "line-by-line".
- Dramatic improvement in speed.. Please forget version 0.0.1x
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.
*/
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"
}
]
If any issue found feel free to contact me at sguha1988.life@gmail.com