Introduction
Dans ce laboratoire, nous allons explorer la manière de convertir des données au format valeurs séparées par des virgules (CSV) en un tableau 2D à l'aide de JavaScript. Nous utiliserons la fonction CSVToArray() qui prend une chaîne CSV en entrée et la convertit en un tableau de tableaux. Ce laboratoire vous aidera à comprendre comment travailler avec les données CSV et à les manipuler à l'aide de JavaScript.
Conversion d'un CSV en un tableau
Pour convertir une chaîne de caractères au format valeurs séparées par des virgules (CSV) en un tableau 2D, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à coder. - Utilisez
Array.prototype.indexOf()pour localiser le premier caractère de nouvelle ligne (\n). - Utilisez
Array.prototype.slice()pour supprimer la première ligne (ligne de titre) siomitFirstRowest défini surtrue. - Utilisez
String.prototype.split()pour créer une chaîne pour chaque ligne. - Utilisez
String.prototype.split()pour séparer les valeurs dans chaque ligne en utilisant ledélimiteurfourni. - Si vous ne fournissez pas le deuxième argument,
délimiteur, le délimiteur par défaut','sera utilisé. - Si vous ne fournissez pas le troisième argument,
omitFirstRow, la première ligne (ligne de titre) de la chaîne CSV sera incluse.
Voici le code pour convertir un CSV en un tableau :
const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
data
.slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
.split("\n")
.map((v) => v.split(delimiter));
Vous pouvez utiliser les exemples suivants pour tester la fonction :
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']];
Sommaire
Félicitations ! Vous avez terminé le laboratoire CSV en tableau. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.