我能够逐行读取文件,但我不知道如何使用制表符分隔每行.这是我的代码.需要一些关于这个问题的帮助
<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>
解决方法
我发现这很有用,并用js .map()函数替换了for …循环.另外,我将数据加载到数组中:
// 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); };