Eine lokale CSV-Datei in Javascript einlesen? [geschlossen]

7

[EDIT] Ich löste das Problem mit D3 , vergiss nichts!

Also habe ich eine CSV-Datei, die ungefähr so ​​aussieht, und ich muss eine lokale csv-Datei in meine Client-Seite javascript importieren:

%Vor%

Ich muss es schließlich analysieren und etwas ausgeben wie:

%Vor%

Aber jetzt bin ich darauf angewiesen, es nur in Javascript zu importieren.

Mein aktueller Code sieht so aus:

%Vor%

Ich habe recherchiert und einige hilfreiche Links auf Stackoverflow gefunden wie dies , dies , und dies , aber ich bin neu in Javascript und ich nicht ' t verstehe es vollständig. Soll ich Ajax benutzen? Dateireader? jQuery? Was sind die Vorteile der Verwendung eines über dem anderen? Und wie würdest du das im Code implementieren?

Aber ja, ich bin nur verwirrt, da ich sehr neu in Javascript bin, also wäre jede Hilfe in die richtige Richtung großartig. Vielen Dank!!

    
ocean800 01.04.2015, 14:11
quelle

3 Antworten

17

Hier erfahren Sie, wie Sie readAsBinaryString() von der FileReader API zum Laden verwenden eine lokale Datei.

%Vor%

Im Grunde genommen müssen Sie nur darauf warten, das Ereignis in <input type="file"> zu ändern und die Funktion readFile aufzurufen.

%Vor%

jsFiddle

    
Jose Rui Santos 01.04.2015, 15:49
quelle
2

Ich benutze diese Bibliothek von Google: Ссылка Zuerst - du musst

%Vor%

und dann Anleitung von Seite

verwenden     
Legendary 01.04.2015 14:25
quelle
1

Es gibt so viele Möglichkeiten, das zu erreichen, was Sie wollen, wie Sie sich vorstellen können.

Wenn ich das mache, könnte ich den Eingabetext in Zeilen wie folgt aufteilen:

%Vor%

Dann würde ich die Namen der Header aus der ersten Zeile extrahieren. Sie benötigen eine Funktion, um die Werte aus jeder Zeile zu lesen.

%Vor%

Als nächstes würde ich die verbleibenden Zeilen durchlaufen und ein Array von Objekten erstellen, die die Werte in den Zeilen repräsentieren.

%Vor%

Wenn das alles funktioniert, sollten Sie mit einem Array von Objekten enden, die die Werte in jeder Zeile Ihrer CSV darstellen.

Oben ist eine grobe Übersicht darüber, wie der Code aussehen könnte. Ich habe es nicht getestet und es ist sicherlich nicht produktionsfertig, aber ich hoffe, es gibt Ihnen eine Vorstellung davon, wie Sie tun können, was Sie wollen.

Ich habe mehrere integrierte Javascript-Funktionen verwendet. Ich schlage vor, sie auf MDN nachzuschlagen, wenn Sie nicht mit ihnen vertraut sind; Sie sind gut zu wissen.

Schließlich gibt es eine seltsame Eigenart in Javascript mit seiner automatischen Semikolon-Einfügung (eine schlechte Eigenschaft der Sprache, IMO). Um Probleme zu vermeiden, legen Sie keine neue Zeile vor einer öffnenden Klammer.

Schreiben Sie immer

%Vor%

und nicht schreiben

%Vor%     
Daniel Allen Langdon 01.04.2015 16:05
quelle