Die direkte Eingabe der Daten als JavaScript ist ein zeitaufwändiger Prozess, der zu vielen Fehlern führt. Alternativ möchte ich die Daten in ein Excel-Arbeitsblatt eingeben und das JavaScript-Array aus dem Arbeitsblatt generieren. Wie kann ich das machen?
3 Antworten auf die Frage
1
Cancun101
Ich glaube, Sie könnten Papa Parse verwenden, ein JavaScript-Tool zum Analysieren von CSV-Dateien.
Geben Sie zunächst alle Ihre Daten in Excel ein und speichern Sie die Datei als .csv
Als nächstes verwenden Sie NPM, um Papa Parse zu installieren:
$ npm install papaparse
Importieren Sie Ihre CSV-Datei in JS:
var file = '/path/to/your.csv'; var content = fs.readFileSync(file, "utf8");
Verwenden Sie dann diesen Code, um die CSV-Datei in ein Array zu parsen:
var Papa = require('papaparse'); Papa.parse(content, { header: false, delimiter: "\t", complete: function(results) { rows = results.data; } });
1
harrymc
Da dies eine Operation ist, die Sie nur einmal oder einige Male ausführen würden, finden Sie hier eine Zero-Work-Lösung auf der Website Mr. Data Converter, die anscheinend von einem Shan Carter erstellt wurde.
So habe ich diese Dummy-Beispieltabelle mit 679 duplizierten Zeilen konvertiert:
Klicken Sie in den oberen Textbereich und fügen Sie die Daten mit Ctrl+ einV
Wählen Sie Ausgabe als "JSON - Row Arrays" aus.
Das Ergebnis im unteren Textbereich sieht folgendermaßen aus:
Klicken Sie in den unteren Textbereich und es wird ausgewählt
Mit Ctrl+ in die Zwischenablage kopierenC
Jetzt können Sie die Daten an einer beliebigen Stelle einfügen und die Deklaration für das JavaScript-Array hinzufügen.
Hinweis für die Zukunft: Wenn die Mr. Data Converter-Website jemals aus dem Internet verschwindet, befindet sich eine funktionierende Kopie davon auf der Wayback Machine .
0
confetti
Angenommen, Sie haben ein ,Trennzeichen in einer Nur-Text- .csvDatei, können Sie einfach Folgendes tun:
var csvarray = []; var client = new XMLHttpRequest(); client.open('GET', '/mydata.csv'); client.onreadystatechange = function() { var rows = client.responseText.split('\n'); for(var i = 0; i < rows.length; i++){ csvarray.push(rows[i].split(',')); } } client.send();
csvarray enthält ein Array pro Zeile der csv mit den durch Kommas getrennten Daten.