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:
- Abra la Terminal/SSH y escriba
nodepara comenzar a codificar. - Utilice
Array.prototype.indexOf()para localizar el primer carácter de nueva línea (\n). - Utilice
Array.prototype.slice()para eliminar la primera fila (fila de títulos) siomitFirstRowse establece entrue. - Utilice
String.prototype.split()para crear una cadena para cada fila. - Utilice
String.prototype.split()para separar los valores en cada fila utilizando eldelimitadorproporcionado. - Si no proporciona el segundo argumento,
delimitador, se utilizará el delimitador predeterminado de','. - 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.