Tableau 2D en CSV

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Dans ce laboratoire, nous allons explorer la manière d'utiliser JavaScript pour convertir un tableau 2D en une chaîne de caractères au format valeurs séparées par des virgules (CSV). Le laboratoire vous guidera tout au long du processus d'utilisation de Array.prototype.map() et Array.prototype.join() pour créer une chaîne CSV à partir d'un tableau 2D. À la fin du laboratoire, vous aurez une compréhension solide de la manière de convertir des tableaux en chaînes CSV à l'aide de JavaScript.

Convertir un tableau 2D en CSV

Pour convertir un tableau 2D en une chaîne de caractères au format valeurs séparées par des virgules (CSV), suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Utilisez Array.prototype.map() et Array.prototype.join() pour combiner les tableaux 1D individuels (les lignes) en chaînes de caractères, en utilisant le délimiteur fourni.
  3. Utilisez Array.prototype.join() pour combiner toutes les lignes en une chaîne CSV, en séparant chaque ligne par un retour à la ligne (\n).
  4. Si vous voulez utiliser le délimiteur par défaut ,, omettez le deuxième argument, délimiteur.

Voici un exemple de code :

const arrayToCSV = (arr, delimiter = ",") =>
  arr
    .map((v) =>
      v
        .map((x) => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x))
        .join(delimiter)
    )
    .join("\n");

Vous pouvez tester la fonction en exécutant les lignes de code suivantes :

arrayToCSV([
  ["a", "b"],
  ["c", "d"]
]); // '"a","b"\n"c","d"'
arrayToCSV(
  [
    ["a", "b"],
    ["c", "d"]
  ],
  ";"
); // '"a";"b"\n"c";"d"'
arrayToCSV([
  ["a", '"b" great'],
  ["c", 3.1415]
]);
// '"a","""b"" great"\n"c",3.1415'

Résumé

Félicitations ! Vous avez terminé le laboratoire sur la conversion d'un tableau en CSV. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.