Javascript - read a file with tab delimiters, in turn, than split each line using a tab delimiter

I can read the file line by line, but I do not know how to split each line using a tab delimiter. here is my code. Need help on this issue.

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Sum of a Column in JavaScript</title> </head> <input type="file" name="file" id="file"> <script type="text/javascript"> document.getElementById('file').onchange = function(){ var file = this.files[0]; var reader = new FileReader(); reader.onload = function(progressEvent){ // Entire file console.log(this.result); // By lines var lines = this.result.split('\n'); for(var line = 0; line < lines.length; line++){ // By tabs var tabs = lines[line].split('\\t'); for(var tab = 0; tab < tabs.length; tab++){ alert(tabs[tab]); } } }; reader.readAsText(file); }; </script> 
+6
source share
2 answers

I found this useful and replaced the for ... loops with the js.map () function. In addition, I load data into arrays:

  // By lines var arr1 = []; var arr2 = []; var arr3 = []; var arr4 = []; var arr5 = []; // assuming 5 tabs var lines = this.result.split('\n'); lines.map(function(item){ var tabs = item.split('\t'); console.log("0",tabs[0], "1",tabs[1], "2",tabs[2],"3", tabs[3],"4", tabs[4], "5", tabs[5], "6", tabs[6]); arr1.push(tabs[0]); arr2.push(tabs[1]); arr3.push(tabs[2]); arr4.push(tabs[3]); arr5.push(tabs[4]); }); // test two of the arrays after reading: for (var i = 0; i < mdarr.length; i++) { console.log(arr1[i], arr2[i]); }; } reader.readAsText(file); }; 
+5
source

This is how I converted the tab delimited file to tree format in Node

 var inputFile='Tree.tab' fs = require('fs'); tree = {} fs.readFile(inputFile, 'ascii', function(err, data) { if(err) { console.log(err); } lines = data.split('\r\n'); lines.map(function(line){ levels = line.split("\t"); if(typeof tree[levels[0]] === "undefined") { tree[levels[0]] = {} } node = tree[levels[0]] for ( var i = 1; i < levels.length; i++) { if(typeof node[levels[i]] === "undefined") { node[levels[i]] = {} } } }); console.log(tree); }); 
0
source

Source: https://habr.com/ru/post/983500/


All Articles