Einführung
In diesem Lab werden wir untersuchen, wie man CSV-Daten (comma-separated values) in einem 2D-Array mit JavaScript umwandelt. Wir werden die CSVToArray()-Funktion verwenden, die einen CSV-String als Eingabe nimmt und ihn in ein Array von Arrays umwandelt. Dieses Lab wird Ihnen helfen, zu verstehen, wie man mit CSV-Daten umgeht und sie mit JavaScript manipuliert.
Umwandeln von CSV in ein Array
Um einen comma-separated values (CSV)-String in ein 2D-Array umzuwandeln, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um zu beginnen zu codieren. - Verwenden Sie
Array.prototype.indexOf(), um das erste Zeilenumbruchzeichen (\n) zu finden. - Verwenden Sie
Array.prototype.slice(), um die erste Zeile (Titelzeile) zu entfernen, wennomitFirstRowauftruegesetzt ist. - Verwenden Sie
String.prototype.split(), um für jede Zeile einen String zu erstellen. - Verwenden Sie
String.prototype.split(), um die Werte in jeder Zeile mit dem angegebenenDelimiterzu trennen. - Wenn Sie den zweiten Parameter
Delimiternicht angeben, wird das Standard-Delimiter','verwendet. - Wenn Sie den dritten Parameter
omitFirstRownicht angeben, wird die erste Zeile (Titelzeile) des CSV-Strings enthalten sein.
Hier ist der Code, um CSV in ein Array umzuwandeln:
const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
data
.slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
.split("\n")
.map((v) => v.split(delimiter));
Sie können die folgenden Beispiele verwenden, um die Funktion zu testen:
CSVToArray("a,b\nc,d"); // [['a', 'b'], ['c', 'd']];
CSVToArray("a;b\nc;d", ";"); // [['a', 'b'], ['c', 'd']];
CSVToArray("col1,col2\na,b\nc,d", ",", true); // [['a', 'b'], ['c', 'd']];
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "CSV to Array" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.