Como Criar um Conversor de CSV para JSON com JavaScript
Introdução
Como criar um conversor rápido e simples de CSV para JSON. Entenderemos como transformar dados tabulares em um formato leve e prático para uso em projetos JavaScript e Node.js.
O Que é um Arquivo CSV?
CSV (Comma-Separated Values) é um formato de arquivo de texto simples usado para armazenar dados tabulares, sem formatação. É muito utilizado em programas como Excel e Google Sheets, apesar de esses aplicativos utilizarem outros formatos padrão, como XLS. Converter arquivos para CSV ajuda a manter os dados leves e mais fáceis de compartilhar, especialmente por meio de separadores como vírgulas ou ponto e vírgula.
Ao trabalhar com JavaScript, é comum converter CSV para JSON, um formato amplamente usado em aplicações web. Neste tutorial, construiremos um conversor eficiente, ideal para uso em projetos pessoais.
Por Que Criar Seu Próprio Conversor?
Embora existam sites que oferecem ferramentas para converter CSV para JSON, nem sempre é seguro confiar neles. Criar sua própria solução permite evitar riscos de vazamento de dados, além de proporcionar uma ferramenta personalizada e prática para o dia a dia.
Colocando a Mão na Massa
Pré-requisitos:
- Ter o Node.js instalado.
Para verificar sua instalação, abra o terminal e execute:
node -v
Passo 1: Criando o Projeto
- Inicialize um projeto Node.js:
npm init -y
Isso criará um arquivo package.json
.
- Instale a biblioteca que usaremos para processar arquivos CSV:
npm install csv-parser
Criando o Conversor
Agora vamos ao código:
Criar o Arquivo do Script
Crie um arquivo chamadoindex.js
e abra-o no editor de código.Importar Módulos Necessários
No arquivoindex.js
, importe os módulos necessários:
const fs = require('fs');
const csv = require('csv-parser');
-
fs
é um módulo nativo do Node.js para manipulação de arquivos. -
csv-parser
é a biblioteca instalada para processar arquivos CSV.
- Configurar o Nome do Arquivo Defina o arquivo CSV de entrada:
const inputFile = 'teste.csv'; // Nome do arquivo CSV
- Ler e Converter o Arquivo Configure a leitura e conversão do arquivo:
const results = [];
fs.createReadStream(inputFile)
.pipe(csv())
.on('data', (data) => results.push(data)) // Adiciona cada linha ao array results
.on('end', () => {
const jsonOutput = JSON.stringify(results, null, 2);
const outputFilePath = 'output.json';
fs.writeFileSync(outputFilePath, jsonOutput);
console.log("Concluido: ", outputFilePath)
});
Explicação:
-
fs.createReadStream(inputFile)
lê o arquivo CSV. -
.pipe(csv())
processa os dados do arquivo. -
.on('data')
captura cada linha do CSV como objeto e a adiciona ao arrayresults
. -
.on('end')
é chamado quando a leitura termina, criando um novo arquivo.json para guardar o json convertido
Personalizando o Separador
Caso o arquivo use separadores diferentes, como ponto e vírgula, você pode configurar a biblioteca:
.pipe(csv({ separator: ';' }))
Isso garante que o script interprete corretamente os valores separados.
Testando o Script
- Crie um arquivo CSV chamado
teste.csv
com o seguinte conteúdo:
nome,idade,cidade
Victor,25,Pará
Hugo,30,São Paulo
- Execute o script no terminal:
node index.js
- O resultado será exibido no formato JSON:
[
{ "nome": "Victor", "idade": "25", "cidade": "Pará" },
{ "nome": "Ana", "idade": "30", "cidade": "São Paulo" }
]
Conclusão
Com este projeto, você terá um conversor de CSV para JSON funcional e seguro, ideal para integrar em seus sistemas e projetos pessoais. Experimente personalizar o script conforme suas necessidades e aproveite para automatizar tarefas no dia a dia.
Top comments (0)