Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs');
- function processData(data){
- var res = [];
- var parents = [];
- let previous;
- for (let i=0;i<data.length;i++){
- if(i>0) {
- var number = data[i].number.split('-');
- if(data[i].number.indexOf(previous.number) === 0) {
- previous.summary = 'Yes';
- parents.push({number:previous.number, name:previous.name});
- data[i].subaccountOf = parents[parents.length-1].number + ' ' + parents[parents.length-1].name;
- } else {
- previous.summary = 'No';
- while(parents.length > 0 && data[i].number.indexOf(parents[parents.length-1].number) !== 0) {
- parents.pop();
- }
- if(parents.length > 0) {
- data[i].subaccountOf = parents[parents.length-1].number + ' ' + parents[parents.length-1].name;
- }
- }
- res.push(previous);
- }
- previous = data[i];
- }
- previous.summary = 'No';
- res.push(previous);
- // console.log(res);
- return res;
- }
- function prepareData(line){
- const x = line.split(';');
- const res = {
- externalId:'',
- number: x[1],
- name: x[2],
- type: x[3],
- subaccountOf: '',
- currency: x[5],
- summary: ''
- };
- return res;
- }
- // read file and prepare structure for processing data
- var data = [];
- var path = process.cwd();
- var firstLine = true;
- var buffer = fs.readFileSync(path + "\\planKont.csv").toString().split(/\r?\n/).forEach(function(line){
- if(!firstLine) data.push(prepareData(line));
- firstLine = false;
- });
- // process data
- data = processData(data);
- // convert data to csv format
- var dataToWrite = 'External ID;Number;Name;Type;Subaccount of;Currency;Summary\n';
- for (let i=0;i<data.length;i++){
- dataToWrite += data[i].externalId + ";" + data[i].number + ";" + data[i].name + ";" + data[i].type + ";" + data[i].subaccountOf + ";" + data[i].currency + ";" + data[i].summary;
- if(i!==data.length-1) dataToWrite += '\n';
- }
- // save file
- fs.writeFile(path + "\\planKontAfterTransformation.csv", dataToWrite, 'utf8', function(err) {
- if(err) {
- return console.log(err);
- }
- console.log("The file was saved!");
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement