2016-07-19 2 views
0

Ich bin erfolgreich Parsen, Filtern und Drucken einer CSV-Datei mit Papa Parse und jQuery. Leider scheint es mir gelungen zu sein, eine Art von Schleife einzurichten, bei der die Ausgabe weiterhin auf der Webseite gedruckt wird.Dieses Javascript druckt Daten beim Analysieren einer CSV-Datei in einer Schleife

Code ist wie folgt, ich weiß, es ist wahrscheinlich etwas offensichtlich, aber daran arbeiten seit einer Weile jetzt und kann einfach nicht sehen!

function organize(data) { 
    var finalLpc = []; 

    data.forEach(function(branch) { 
     if (branch.BranchNo == 1515) { 
      finalLpc.push(branch); 
     } 

     var $tableBody = $('<tbody></tbody>'); 
     for (var i = 0; i < finalLpc.length; i++) { 
      var branch = finalLpc[i]; 
      var $row = $('<tr></tr>'); 
      $row.append($('<td></td>').text(branch.Area)); 
      $row.append($('<td></td>').text(branch.LPC)); 
      $tableBody.append($row); 
     } 

     $('thead').after($tableBody); 
    }); 
} 

function parseData(url, callBack) { 
    Papa.parse(url, { 
     download: true, 
     header: true, 
     dynamicTyping: true, 
     complete: function(results) { 
      callBack(results.data); 
     } 
    }); 
} 

parseData("lpc.csv", organize); 

Jede Hilfe würde sehr geschätzt werden. Ich habe hier Beispiele benutzt, um dahin zu kommen, wo ich jetzt bin.

+3

Beachten Sie, dass Daten drängen in 'finalLpc' nur, wenn die' BranchNo == 1515', aber das '$ tableBody' ausgibt, ob Sie auf' finalLpc' geschoben haben. Dadurch wird das gesamte 'finalLpc'-Array für jedes Element in' data' neu gedruckt. Wahrscheinlich möchten Sie den '$ tableBody'-Code aus der' data.forEach'-Schleife entfernen. –

+0

Hallo Mike, danke, ich habe es gerade gemerkt, es ist erstaunlich, was ein paar fehlende geschweifte Klammern und Kommas können, ich habe es schief angesehen, es ist jetzt behoben, also werde ich die Lösung unten für andere posten. –

+0

Kein Problem. Ich werde vorschlagen, dass wir diese Frage schließen, da es unwahrscheinlich ist, dass jemand das gleiche Problem wieder haben wird. –

Antwort

0

Ich habe es geschafft, dies zu beheben und teile die Antwort für die Nachwelt, dank Mike McCaughan für die Ausrichtung in die richtige Richtung.

 function organize(data) { 

     var finalLpc = []; 

     data.forEach(function(branch){ 
      if (branch.BranchNo == 1197) { 
       finalLpc.push(branch); 
      } 
      }); 

      var $tableBody = $('<tbody></tbody>'); 
      for (var i = 0; i < finalLpc.length; i++) { 
       var branch = finalLpc[i]; 
       var $row = $('<tr></tr>'); 
       $row.append($('<td></td>').text(branch.Area)); 
       $row.append($('<td></td>').text(branch.BranchName)); 
       $row.append($('<td></td>').text(branch.LPC)); 
       $tableBody.append($row); 
      } 

      $('thead').after($tableBody); 
    } 



    function parseData(url, callBack) { 
    Papa.parse (url, { 
     download: true, 
     header: true, 
     dynamicTyping: true, 
     complete: function(results) { 
     callBack(results.data); 
     } 
    }); 
} 

parseData("lpc.csv", organize); 
Verwandte Themen