CSV para Array

Beginner

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

Introdução

Neste laboratório, exploraremos como converter dados de valores separados por vírgula (CSV - comma-separated values) em um array 2D usando JavaScript. Usaremos a função CSVToArray(), que recebe uma string CSV como entrada e a converte em um array de arrays. Este laboratório ajudará você a entender como trabalhar com dados CSV e manipulá-los usando JavaScript.

Convertendo CSV para um Array

Para converter uma string de valores separados por vírgula (CSV) em um array 2D, siga estes passos:

  1. Abra o Terminal/SSH e digite node para começar a codificar.
  2. Use Array.prototype.indexOf() para localizar o primeiro caractere de nova linha (\n).
  3. Use Array.prototype.slice() para remover a primeira linha (linha de título) se omitFirstRow estiver definido como true.
  4. Use String.prototype.split() para criar uma string para cada linha.
  5. Use String.prototype.split() para separar os valores em cada linha usando o delimiter fornecido.
  6. Se você não fornecer o segundo argumento, delimiter, o delimitador padrão de ',' será usado.
  7. Se você não fornecer o terceiro argumento, omitFirstRow, a primeira linha (linha de título) da string CSV será incluída.

Aqui está o código para converter CSV em um array:

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

Você pode usar os seguintes exemplos para testar a função:

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

Resumo

Parabéns! Você concluiu o laboratório de CSV para Array. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.