CSV ou JSON: quando usar cada um?
Os dois formatos aparecem o tempo todo em integrações, mas representam dados de formas diferentes. Escolher o formato certo (e saber converter sem perder nada) evita muita dor de cabeça.
CSV: uma tabela em texto
CSV (comma-separated values) guarda uma tabela como texto: uma linha por registro, campos separados por um caractere. A primeira linha costuma ser o cabeçalho. É o formato de exportação de planilhas, sistemas de gestão e relatórios.
nome,cidade Ana,Recife Bruno,Curitiba
JSON: dados com estrutura
JSON guarda objetos, listas e estruturas aninhadas, com tipos (texto, número, verdadeiro/falso, nulo). É o formato que APIs e conectores usam. Veja o guia de JSON para iniciantes.
[{"nome":"Ana","cidade":"Recife"},{"nome":"Bruno","cidade":"Curitiba"}]
Comparação rápida
| CSV | JSON | |
|---|---|---|
| Estrutura | Só tabela (linhas e colunas) | Hierarquias, listas dentro de objetos |
| Tipos | Tudo é texto | Texto, número, booleano, nulo |
| Tamanho | Menor (nomes das colunas uma vez só) | Maior (nomes repetidos em cada item) |
| Abre no Excel | Direto | Precisa de conversão |
| Ideal para | Planilhas, exportação, cargas em massa | APIs, conectores, dados aninhados |
Quando usar cada um
- CSV quando os dados são uma tabela simples e vão para (ou vêm de) uma planilha.
- JSON quando existe hierarquia (um pedido com vários itens), quando os tipos importam ou quando o destino é uma API.
Os problemas clássicos da conversão
- Separador: o Excel em português salva CSV com ponto e vírgula, porque a vírgula é o separador decimal no Brasil. Um conversor que só entende vírgula junta tudo em uma coluna.
- Acentos: arquivos do Excel antigo usam Windows-1252; o padrão atual é UTF-8. Ler com a codificação errada transforma "São" em "São".
- Aspas e quebras de linha: pelo padrão do CSV, um campo com vírgula ou quebra de linha vai entre aspas, e uma aspa dentro do campo é escrita duas vezes (
"disse ""oi"""). Conversores simples quebram nesses casos. - Tipos: o CSV não distingue número de texto.
007pode virar7se o conversor "ajudar". Códigos, CEPs e telefones devem ficar como texto. - Decimais:
32,90é texto, não número, para quase todo conversor. Troque a vírgula por ponto se precisar do número. No Power Automate, o perigo é maior:float('32,90')devolve3290(a vírgula é descartada, sem erro) efloat('1.234,56')dá erro. Veja a limpeza no guia de parcelas. - Cabeçalho repetido ou vazio: colunas duplicadas se sobrescrevem em silêncio em muitos conversores.
O conversor do Me Ajuda Flow trata esses casos: detecta o separador, lê as duas codificações, renomeia colunas repetidas e avisa o que ajustou.
E no Power Automate?
O fluxo tem a ação Criar tabela CSV, que transforma uma lista (JSON) em CSV. O caminho inverso, ler CSV e gravar em outro lugar, não tem ação pronta para todos os casos. Uma solução limpa, sem percorrer o arquivo linha por linha, é entregar o texto a um Office Script. Veja o passo a passo em CSV recebido por e-mail para tabela do Excel, sem loop.
Resumo
Use CSV para tabelas e planilhas, JSON para estrutura e APIs. Na conversão, confira separador, codificação, aspas e tipos. Na dúvida, converta uma amostra pequena e compare o resultado com o original antes de processar o arquivo inteiro.