Skip to content

Instantly share code, notes, and snippets.

@maggiben
Created November 27, 2013 13:59
Show Gist options
  • Save maggiben/7676138 to your computer and use it in GitHub Desktop.
Save maggiben/7676138 to your computer and use it in GitHub Desktop.
CSV to JSON
var fs = require("fs");
var index = 1;
var obj = [];
var lineNumber = 0;
fs.readFileSync('./Bovespa.csv').toString().split('\n').forEach(function (line) {
var array = line.split(";");
try {
var d = array[0].split("/");
var date = new Date(d[2], d[1], d[0]).toUTCString();
var last = array[1].replace(/\./g, "").replace(/,/g,".");
var open = array[2].replace(/\./g, "").replace(/,/g,".");
var diff = array[3].replace(/%/g, "").replace(/,/g, ".");
var max = array[4].replace(/\./g, "").replace(/,/g,".");
var min = array[5].replace(/\./g, "").replace(/,/g,".");
var volume = array[6].replace(/\./g, "").replace(/,/g,".");
}
catch(err) {
console.log("ln: ", lineNumber, "arr: ", array);
}
var data = {
date: 'ISODate("' + date + '")',
last: last,
open: open,
diff: diff,
max: max,
min: min,
volume: volume
};
obj.push(JSON.stringify(data));
//console.log(line);
/*fs.open("./output.txt", 'a', 0666, function(err, fd) {
fs.writeSync(fd, line.toString() + "\n", null, undefined, function(err, written) {
})});*/
lineNumber++;
});
// write JSON
var data = JSON.stringify(obj);
fs.writeFile('./Bovespa.json', obj, function (err) {
if (err) {
console.log('There has been an error saving your configuration data.');
console.log(err.message);
return;
}
console.log('Configuration saved successfully.')
});
console.log(obj[2]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment