Node Parsing Example
by lsiv568
JavaScript
var fs = require("fs");
var _ = require("underscore");
var process = function(productsData, salesData) {
console.log(salesData.split('\n').length + ' lines in the sales file')
console.log(productsData.split('\n')[0])
var salesData = salesData.split("\n");
var rowNumber = 0;
var rowDataObject = {};
// create an object which contains an array of row values keyed to the row index
_.each(salesData, function (value) {
if (value.indexOf("\n") > 0) {
rowDataObject[rowNumber].push(value);
rowNumber += 1;
} else {
if (!rowDataObject[rowNumber]) {
rowDataObject[rowNumber] = [];
}
rowDataObject[rowNumber].push(value);
}
});
var columnThreeData = [];
var keys = _.keys(rowDataObject[0]);
// column values can be retrieved by iterating over the keys of the row data object contents
_.each(keys, function (key) {
var theOBJ = rowDataObject[0][key];
columnThreeData.push(rowDataObject[0][key].split("\t")[2]);
});
}
fs.readFile("products.tab", 'utf-8', function (error, productsData) {
fs.readFile("sales.tab", 'utf-8', function(error, salesData) {
process(productsData, salesData);
});
});