从文件中读取文本,尝试将某些行列表

时间:2015-06-03 16:36:20

标签: jquery file

我有一个文本文件。有些数据需要制表,但有些数据并不是。如果我逐行阅读文本文件,如果我逐行排列,如何设置html表并将数据制成表格?我意识到这可能是一个愚蠢的问题,但我有点卡住了。

文本文件(.txt):

 Chief Justice 
      Vote for  3
       John Doe   .  .  .  .  .  .  .  .  .  .    89,000   33.00
       Jane Doe   .  .  .  .  .  .  .  .  .  .    64,000   24.35
       Jim Doe    .  .  .  .  .  .  .  .  .  .    24,000    9.09
       Sally Roe  .  .  .  .  .  .  .  .  .  .     8,000    3.23       

      Next Office
      Vote for  1
       Jane Jones       .  .  .  .  .  .  .  .    18,000   19.13
       Bob Jones        .  .  .  .  .  .  .  .    77,000   80.58

etc....

HTML:

<div id="mydiv"></div>

jquery的:

var file = "myfile.txt";

    $.get(file,function(data){
        var lines = data.split("\n");
        for (var i = 0, len = lines.length; i < len; i++) {

                    if (lines[i].indexOf(".  .") < 0) {
                        $('#mydiv').append(lines[i] + "<br/>");
                    } else {
                        //??
                        //need to feed these lines into an array 
                        //and parse them
                    }

            }

    }); 

1 个答案:

答案 0 :(得分:0)

我正在把线条推到一个数组中:

$.get(file,function(data){
    var lines = data.split("\n");
    for (var i = 0, len = lines.length; i < len; i++) {
    var myArray= [];
                if (lines[i].indexOf(".  .") < 0) {
                    $('#mydiv').append(lines[i] + "<br/>");
                         if (myArray.length > 0) {
                                //there is something in the array
                                $('#mydiv').append("<table>");
                                for (var j = 0; j<myArray.length; j++) {
                                    //parse, etc., here
                                }
                                $('#mydiv').append("</table>");
                                myArray= [];
                            }
                    } else {
                       myArray.push(lines[i]);
                    }

            }

});