Javascript表使用来自多个txt文件的数据并显示在html文件上

学园

我开发了一个代码来读取用户评分数据(从多个txt文件(例如两个以上的txt文件)读取)并将它们显示在表格中。我无法正确显示表格和数据,到目前为止,我一次只能访问一个txt文件。有关修复表布局(添加了另一个表以显示其外观)以及表中数据排列的任何建议。下面是我的示例txt数据文件示例sample1.txt和sample2.txt,然后在其中包含javascript的完整html代码。

sample1.txt

 user1  100
 user2  80
 user3  60
 user4  75
 user5  100
 user6  80
 user7  60
 user8  75
 user9  12
 user10 13

sample2.txt

 user1  10
 user2  20
 user3  30
 user4  45
 user5  50
 user6  60
 user7  70
 user8  80
 user9  90
 user10 99

tableExample4.html

  <!DOCTYPE html>
  <html>
  <head>
  <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
  <meta content="utf-8" http-equiv="encoding">
  <title>Read Text File</title> 
  </head> 

  <body> 
  <input type="file" name="inputfile"
        id="inputfile"> 
  <br> 

  <pre id="output"></pre> 
  <script>

  var file = document.getElementById('inputfile');

  file.addEventListener('change', () => {
  var txtArr = [];
  var fr = new FileReader();
  fr.onload = function() {
    // By lines
    var lines = this.result.split('\n');
    for (var line = 0; line < lines.length; line++) {
        txtArr = [...txtArr, ...(lines[line].split(" "))];
    }
   }

   fr.onloadend = function() {
    //console.log(txtArr);
   // document.getElementById('output').textContent=txtArr.join("");
   // document.getElementById("output").innerHTML = txtArr; 
   // console.log(txtArr[1]);
   
   // *********************  table 1 code test ****************************************

    var table= document.createElement('table'),
        thead = document.createElement('thead'),
        tbody = document.createElement('tbody'),
        th,
        tr,
        td;
        th = document.createElement('th'),          
        th.innerHTML="Name";
        table.appendChild(th);
        th = document.createElement('th'); 
        th.innerHTML= "Sample1";
        table.appendChild(th);
        th = document.createElement('th'); 
        th.innerHTML= "Sample2"
        table.appendChild(th);
        table.appendChild(thead);            
        table.appendChild(tbody);
        
        document.body.appendChild(table);
     for(var i=0;i<txtArr.length;i++){
        tr = document.createElement('tr'),
        //for Name
        td= document.createElement('td');
        td.innerHTML=txtArr[i];
        tr.appendChild(td);

        //for Samples
        td = document.createElement('td');
        td.innerHTML=txtArr[i];
        tr.appendChild(td);
          tbody.appendChild(tr);
     }
   // ******************  end of test code *************************************


    }

    fr.readAsText(file.files[0]);


    })
    // *********************  table 2 code test ****************************************
   function generate_table() {
   // get the reference for the body
   var body = document.getElementsByTagName("body")[0];

   // creates a <table> element and a <tbody> element
   var tbl = document.createElement("table");
   var tblBody = document.createElement("tbody");

   // creating all cells
   for (var i = 0; i < 2; i++) {
   // creates a table row
   var row = document.createElement("tr");

   for (var j = 0; j < 2; j++) {
   // Create a <td> element and a text node, make the text
   // node the contents of the <td>, and put the <td> at
   // the end of the table row
   var cell = document.createElement("td");
   var cellText = document.createTextNode("cell in row "+i+", column ");
   cell.appendChild(cellText);
   row.appendChild(cell);
   }

   // add the row to the end of the table body
  tblBody.appendChild(row);
  } 

  // put the <tbody> in the <table>
  tbl.appendChild(tblBody);
  // appends <table> into <body>
  body.appendChild(tbl);
  // sets the border attribute of tbl to 2;
  tbl.setAttribute("border", "2");

  }


  // ******************  end of test code ******************************************

  </script>

  <input type="button" value="Generate a table." onclick="generate_table()">

  </body>
  </html> 
自动化

我还没有添加表头,并且输入文件的第一个字段之前不需要有空格,而在第一和第二个字段之间只需有一个空格,如下所示。

选择一个文件,然后选择下一个,然后在所有选定的文件都使用时创建。这将绘制表并擦除数据数组以进行新选择。

Sample1.txt

user1 100
user2 80
user3 60
user4 75
user5 100
user6 80
user7 60
user8 75
user9 12
user10 13

Sample2.txt

user1 10
user2 20
user3 30
user4 45
user5 50
user6 60
user7 70
user8 80
user9 90
user10 99

新脚本如下

var file = document.getElementById('inputfile');

var txtArr = [];

file.addEventListener('change', () => {

  var fr = new FileReader();
  fr.onload = function() {
    // By lines
    var lines = this.result.split('\n');
    for (var line = 0; line < lines.length; line++) {
        txtArr.push(lines[line].split(" "));
    }
   }
fr.readAsText(file.files[0]);
});
    
function generate_table() {
   if ( typeof(document.getElementsByTagName("table")[0]) !="undefined" ) {
    document.getElementsByTagName("table")[0].remove();
   }
   // get the reference for the body
   var body = document.getElementsByTagName("body")[0];
    
   // creates a <table> element and a <tbody> element
   var tbl = document.createElement("table");
   var tblBody = document.createElement("tbody");
   
    // creating all cells
    for (var i = 0; i < txtArr.length; i++) {
       // creates a table row
       var row = document.createElement("tr");
           for (var j = 0; j < 2; j++) {
                var cell = document.createElement("td");
                var cellText = document.createTextNode(txtArr[i][j]);
                cell.appendChild(cellText);
                row.appendChild(cell);
                tblBody.appendChild(row);
     } 
      
     // put the <tbody> in the <table>
     tbl.appendChild(tblBody);
     // appends <table> into <body>
     body.appendChild(tbl);
     // sets the border attribute of tbl to 2;
     tbl.setAttribute("border", "2");
     
    }
    txtArr=[];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用rsync同步来自多个目录的txt文件

来自分类Dev

来自多个文件的Python txt矩阵

来自分类Dev

如何使用来自多个模块的多个dimens.xml文件?

来自分类Dev

使用熊猫对来自多个csv文件的数据求和

来自分类Dev

使用Dictionary metod集成来自多个csv文件的数据

来自分类Dev

使用来自多个indexeddb对象库的数据

来自分类Dev

将来自多个jtextfields和组合框的数据保存到.TXT文件

来自分类Dev

显示来自多个数据库表的数据

来自分类Dev

如何使用Spring数据JPA显示来自多个表的数据-多对多关系

来自分类Dev

如何合并和显示来自多个表的数据

来自分类Dev

如何使用来自单独 .txt 文件的信息重命名多个文件?

来自分类Dev

在 Matplotlib 中显示来自多个数据集的图形的文件名

来自分类Dev

OpenLayers 4 - 同时显示来自多个 GeoJSON 文件的特征

来自分类Dev

如何使用linq2sql在单个gridview或gridpanel中显示来自多个表的数据?

来自分类Dev

使用python显示来自多个文件夹的随机图像

来自分类Dev

堆叠来自多个数据文件的行

来自分类Dev

堆叠来自多个数据文件的行

来自分类Dev

来自多个文件的 Gnuplot shell 脚本 ROS 数据

来自分类Dev

如何在Python中使用xarray联接来自多个netCDF文件的数据?

来自分类Dev

使用XSL合并后如何处理来自多个XML文件的所有数据

来自分类Dev

使用多重处理,使用来自多个数据加载器的对象填充队列

来自分类Dev

gt表条件格式,使用来自多个列的值

来自分类常见问题

使用mocha.js加入来自多个文件的测试

来自分类Dev

如何使用jq合并来自多个文件的JSON记录

来自分类Dev

使用来自多个输入的数据更改段落文本

来自分类Dev

当 UWP 应用程序关闭时,使用来自 TextBox 的数据写入 .txt 文件

来自分类Dev

用来自多个 mysql 查询的数据填充对象数组

来自分类Dev

显示来自多个Items Rails的数据?

来自分类Dev

来自多个表的SQL数据

Related 相关文章

  1. 1

    使用rsync同步来自多个目录的txt文件

  2. 2

    来自多个文件的Python txt矩阵

  3. 3

    如何使用来自多个模块的多个dimens.xml文件?

  4. 4

    使用熊猫对来自多个csv文件的数据求和

  5. 5

    使用Dictionary metod集成来自多个csv文件的数据

  6. 6

    使用来自多个indexeddb对象库的数据

  7. 7

    将来自多个jtextfields和组合框的数据保存到.TXT文件

  8. 8

    显示来自多个数据库表的数据

  9. 9

    如何使用Spring数据JPA显示来自多个表的数据-多对多关系

  10. 10

    如何合并和显示来自多个表的数据

  11. 11

    如何使用来自单独 .txt 文件的信息重命名多个文件?

  12. 12

    在 Matplotlib 中显示来自多个数据集的图形的文件名

  13. 13

    OpenLayers 4 - 同时显示来自多个 GeoJSON 文件的特征

  14. 14

    如何使用linq2sql在单个gridview或gridpanel中显示来自多个表的数据?

  15. 15

    使用python显示来自多个文件夹的随机图像

  16. 16

    堆叠来自多个数据文件的行

  17. 17

    堆叠来自多个数据文件的行

  18. 18

    来自多个文件的 Gnuplot shell 脚本 ROS 数据

  19. 19

    如何在Python中使用xarray联接来自多个netCDF文件的数据?

  20. 20

    使用XSL合并后如何处理来自多个XML文件的所有数据

  21. 21

    使用多重处理,使用来自多个数据加载器的对象填充队列

  22. 22

    gt表条件格式,使用来自多个列的值

  23. 23

    使用mocha.js加入来自多个文件的测试

  24. 24

    如何使用jq合并来自多个文件的JSON记录

  25. 25

    使用来自多个输入的数据更改段落文本

  26. 26

    当 UWP 应用程序关闭时,使用来自 TextBox 的数据写入 .txt 文件

  27. 27

    用来自多个 mysql 查询的数据填充对象数组

  28. 28

    显示来自多个Items Rails的数据?

  29. 29

    来自多个表的SQL数据

热门标签

归档