Matriz a CSV

Beginner

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

Introducción

En este laboratorio, exploraremos cómo usar JavaScript para convertir una matriz bidimensional en una cadena de valores separados por comas (CSV). El laboratorio te guiará a través del proceso de usar Array.prototype.map() y Array.prototype.join() para crear una cadena CSV a partir de una matriz bidimensional. Al final del laboratorio, tendrás una comprensión sólida de cómo convertir matrices en cadenas CSV usando JavaScript.

Convertir una matriz bidimensional a CSV

Para convertir una matriz bidimensional en una cadena de valores separados por comas (CSV), sigue estos pasos:

  1. Abre la Terminal/SSH y escribe node para comenzar a practicar la codificación.
  2. Utiliza Array.prototype.map() y Array.prototype.join() para combinar las matrices unidimensionales individuales (filas) en cadenas, utilizando el delimitador proporcionado.
  3. Utiliza Array.prototype.join() para combinar todas las filas en una cadena CSV, separando cada fila con un salto de línea (\n).
  4. Si quieres utilizar el delimitador predeterminado de ,, omite el segundo argumento, delimitador.

Aquí hay un ejemplo del código:

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

Puedes probar la función ejecutando las siguientes líneas de código:

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'

Resumen

¡Felicidades! Has completado el laboratorio de conversión de matrices a CSV. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.