Conversor de JSON para CSV

Transforme uma lista JSON em um download CSV amigável para planilhas. O conversor inspeciona seus dados, constrói uma ordem de colunas estável (seja a partir do primeiro registro ou da união de todas as chaves), achata estruturas aninhadas quando você opta por isso e emite um CSV que abre corretamente no Excel, Numbers, Google Sheets ou em qualquer script pandas.

Como o conversor funciona

  1. 1

    Cole ou faça upload do JSON

    Um array de objetos, ou um payload encapsulado onde os dados estão sob uma única chave.

  2. 2

    Escolha a estratégia de colunas

    Use as chaves do primeiro registro (rápido, previsível) ou a união de todos os registros (mais completo).

  3. 3

    Ajuste a saída

    Delimitador, estilo de citação, achatamento de aninhados, cabeçalhos ativados/desativados, BOM UTF-8 para Excel.

  4. 4

    Baixar

    Salve como `.csv` e importe para sua planilha ou carregue com `pandas.read_csv`.

Estratégias de ordenação de colunas

  • Do primeiro registro: colunas correspondem às chaves do primeiro objeto JSON. Rápido, determinístico. Perde chaves que aparecem apenas em registros posteriores.
  • União de todas as chaves: escaneia cada registro e coleta cada chave. Mais lento em conjuntos de dados muito grandes, mas produz uma lista completa de colunas.
  • Ordem personalizada: forneça uma lista de nomes de colunas separadas por vírgula. Tudo o mais é adicionado ao final, na ordem em que foi encontrado.

Citação e escape

Segue RFC 4180:

  • Campos contendo vírgulas, quebras de linha ou aspas duplas devem ser envoltos em aspas duplas.
  • Uma aspa dupla dentro de um campo citado é escapada duplicando: Ele disse "Oi" se torna "Ele disse ""Oi""".
  • Quebras de linha dentro de campos citados são legais, mas nem todo importador as lida, ative “escapar quebras de linha” se precisar de máxima compatibilidade.

Preservando tipos de dados

CSV é texto: tudo é uma string. Dicas de tipo como colunas numéricas, booleanos ou datas dependem da análise do consumidor. Algumas dicas:

  • Zerós à esquerda (007) são preservados como strings no CSV, mas o Excel os converterá silenciosamente em números. Prefixe com =""007"" (feio, mas funciona) ou importe como texto no Excel.
  • Inteiros grandes além de 2^53 perdem precisão no Excel. Mantenha-os como strings no JSON.
  • Datas ISO (2026-04-18T10:22:00Z) sobrevivem ao round-trip do Excel apenas se a coluna estiver formatada como texto na importação.
  • Booleanos tornam-se strings true / false. Se seu downstream espera 1/0, mapeie antes da exportação.

BOM e Excel

O Excel no Windows precisa de um BOM UTF-8 (0xEF 0xBB 0xBF) no início do arquivo ou interpretará bytes UTF-8 como Latin-1 e embaralhará qualquer coisa fora do ASCII. Mac Numbers e Google Sheets lidam com ambos.

Erros comuns

  • Passando um objeto em vez de um array. A ferramenta precisa de [{...}, {...}], não {...}. Desembrulhe primeiro.
  • Chaves diferentes em registros diferentes. Use a estratégia “união de todas as chaves” para evitar colunas perdidas.
  • Valores sentinela para nulo. Alguns pipelines tratam uma célula vazia como nula; outros a tratam como a string "". Escolha uma convenção e mantenha-a em todo o projeto.
  • Locais incompatíveis. Exportar com , e depois abrir em um Excel europeu que espera ; pode colapsar colunas. Combine o delimitador com o local de destino.

Perguntas frequentes

Forneça um JSONPath (por exemplo, $.data.items) para o array, ou desembrulhe manualmente. A ferramenta tentará detectar automaticamente um único array dentro de um objeto de nível superior.

O Excel converte agressivamente strings que parecem numéricas em números. Ou importe o CSV como “texto” no assistente de importação do Excel, ou envolva valores como "007" em ="007" na exportação (a ferramenta pode fazer isso com a opção “modo seguro para texto”).

Sim. Você escolhe: juntar com um delimitador (tags: "a,b,c"), serializar como JSON (tags: "[\"a\",\"b\"]"), ou explodir para uma coluna por índice (tags.0, tags.1, tags.2).

Sim. O Google Sheets lida com UTF-8 e delimitadores padrão sem problemas. Para conjuntos de dados muito grandes (>10 MB), considere carregar via IMPORTDATA em vez de colar.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas