Wie konvertiere ich eine Excel-Tabelle in ein Javascript-Array?

1295
Wais Kamal

Ich muss große Datenmengen in ein Array eingeben, das in dieser Form vorliegt:

[ [data1,data2,data3,...,data9], [data1,data2,data3,...,data9], [data1,data2,data3,...,data9], ... ] 

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?

1

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:

Kalkulationstabelle

  1. Wählen Sie die gesamten Daten mit Ctrl+ ausA
  2. Mit Ctrl+ in die Zwischenablage kopierenC
  3. Öffnen Sie die Website Mr. Data Converter
  4. Klicken Sie in den oberen Textbereich und fügen Sie die Daten mit Ctrl+ einV
  5. Wählen Sie Ausgabe als "JSON - Row Arrays" aus.
  6. Das Ergebnis im unteren Textbereich sieht folgendermaßen aus:

  1. Klicken Sie in den unteren Textbereich und es wird ausgewählt
  2. 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.