CSV a matriz

Beginner

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

Introducción

En este laboratorio, exploraremos cómo convertir datos en valores separados por comas (CSV) en una matriz bidimensional usando JavaScript. Utilizaremos la función CSVToArray() que toma una cadena CSV como entrada y la convierte en una matriz de matrices. Este laboratorio te ayudará a entender cómo trabajar con datos CSV y manipularlos usando JavaScript.

Convertir CSV a una matriz

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

  1. Abra la Terminal/SSH y escriba node para comenzar a codificar.
  2. Utilice Array.prototype.indexOf() para localizar el primer carácter de nueva línea (\n).
  3. Utilice Array.prototype.slice() para eliminar la primera fila (fila de títulos) si omitFirstRow se establece en true.
  4. Utilice String.prototype.split() para crear una cadena para cada fila.
  5. Utilice String.prototype.split() para separar los valores en cada fila utilizando el delimitador proporcionado.
  6. Si no proporciona el segundo argumento, delimitador, se utilizará el delimitador predeterminado de ','.
  7. Si no proporciona el tercer argumento, omitFirstRow, se incluirá la primera fila (fila de títulos) de la cadena CSV.

Aquí está el código para convertir CSV a una matriz:

const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
  data
    .slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
    .split("\n")
    .map((v) => v.split(delimiter));

Puede utilizar los siguientes ejemplos para probar la función:

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']];

Resumen

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