O que é esta ferramenta?
As APIs e as bases de dados costumam devolver dados no formato JSON, mas as folhas de cálculo, o Excel, o Google Sheets e a maioria das ferramentas de importação de dados esperam o formato CSV. Esta ferramenta colmata essa lacuna: basta colar um conjunto de objetos JSON (como uma resposta de API) e ela cria um arquivo CSV com uma coluna por chave única e uma linha por objeto.
A conversão trata dos detalhes que comprometem as abordagens simplistas: os valores que contêm vírgulas ou aspas são devidamente escapados, os campos em falta passam a ser células vazias em vez de provocarem uma falha na conversão, e os objetos ou matrizes aninhados dentro de um campo são serializados como uma cadeia JSON nessa célula, em vez de serem ignorados silenciosamente.
Por que usar?
- Detecção automática de cabeçalhos — a lista de colunas é criada a partir da união das chaves de todos os objetos, pelo que os registos inconsistentes não comprometem o resultado.
- Escapamento correto de CSV — os valores com vírgulas, aspas ou quebras de linha são colocados entre aspas de forma adequada, para que o arquivo abra corretamente no Excel ou no Google Sheets.
- Lida com dados aninhados — um objeto ou matriz dentro de um campo é serializado para texto JSON, em vez de provocar um erro.
- Copiar para a área de transferência ou descarregar diretamente como arquivo .csv.
- 100% do lado do cliente — os seus dados (respostas da API, registos exportados) nunca são carregados para lado nenhum.
Como usar
- Cole um conjunto de objetos JSON, por exemplo, [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Clique em «Converter para CSV».
- Verifique o resultado — copie-o ou clique em «Descarregar CSV» para guardar um arquivo.
- Abra o arquivo descarregado no Excel, no Google Sheets ou em qualquer outra ferramenta de folha de cálculo.
Exemplo
Entrada
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Resultado
name,age,city
Alice,30,
Bob,,NYCRepare que tanto «cidade» como «idade» se tornam colunas, apesar de nenhum objeto possuir ambas as características — os valores em falta são simplesmente deixados em branco.
Dicas práticas
- Converter uma resposta de API para um relatório em folha de cálculo: cole o array JSON diretamente a partir do separador «Rede» de um navegador ou de uma ferramenta de teste de API, converta e descarregue — sem necessidade de qualquer script intermédio.
- Trabalhar com registos inconsistentes (por exemplo, campos opcionais de uma exportação de formulário): a deteção automática de cabeçalhos significa que não é necessário conciliar manualmente os esquemas primeiro.
- Se o seu JSON for um único objeto de grande dimensão com uma matriz aninhada no seu interior (por exemplo, {"users": [...]}), extraia apenas a parte da matriz (a secção [...] ) antes de a colar aqui.
Por que razão a ordem das colunas e a exaustividade são importantes
Um erro subtil, mas comum, no CSV ocorre quando os dados são exportados escrevendo-se manualmente os cabeçalhos primeiro e partindo do princípio de que todas as linhas correspondem: se a linha 50, de um total de 1000, tiver um campo extra que nenhuma das linhas anteriores tinha, um programa de escrita de CSV linha a linha, sem consideração, ou omite esse campo silenciosamente ou desalinha todas as colunas subsequentes. Esta ferramenta evita esse tipo de falha ao analisar primeiro todos os objetos da matriz para construir a linha de cabeçalho completa e correta antes de escrever uma única linha de saída — assim, um campo que só aparece uma vez, no último objeto, continua a ter a sua própria coluna e o valor de todas as outras linhas para esse campo é corretamente apresentado como em branco, em vez de corromper a estrutura da linha.
Perguntas frequentes
Isto funciona com um único objeto JSON em vez de um array?
Espera-se um array — coloque um único objeto entre colchetes, por exemplo, altere {"name":"Alice"} para [{"name":"Alice"}], e será convertido num arquivo CSV de uma linha.
O que acontece aos objetos ou matrizes aninhados dentro de um campo?
São serializados como uma cadeia JSON dentro dessa célula (por exemplo, um campo que contenha {"a":1} passa a ser o texto "{""a"":1}" no CSV, devidamente protegido por aspas), em vez de provocarem um erro ou serem omitidos. Se precisar de transformar dados aninhados em colunas separadas, isso requer uma ferramenta diferente, específica para o esquema.
Os meus dados são enviados para um servidor?
Não. A conversão é executada inteiramente em JavaScript no seu navegador — nada é enviado para lado nenhum, o que torna esta funcionalidade segura para utilizar com dados exportados de clientes ou da empresa.
Por que é que o meu arquivo CSV tem células em branco?
Se alguns objetos do seu array não tiverem uma chave que outros têm, essa coluna existe, mas a célula fica em branco para os objetos que não a possuem — isto permite preservar todos os seus dados, em vez de gerar um erro devido a registos inconsistentes.
Os valores separados por vírgulas podem danificar o arquivo CSV?
Não. Qualquer valor que contenha uma vírgula, um aspas ou uma quebra de linha é automaticamente colocado entre aspas (com as aspas internas escapadas), de acordo com as regras padrão do CSV, para que seja aberto corretamente no Excel e no Google Sheets.