Como converter JSON em CSV em Python

Mulher com as mãos de codificação de html e programação na tela do laptop, Web, desenvolvedor.

Como converter JSON em CSV em Python

Crédito da imagem: oatawa / iStock / GettyImages

Você pode converter JSON para CSV na linguagem de programação Python usando bibliotecas integradas que vêm com a linguagem. Você pode percorrer o objeto JSON e gerar suas chaves e valores como linhas em um arquivo de valores separados por vírgula. Lembre-se de que nem todos os arquivos JSON podem ser facilmente representados como CSVs únicos; portanto, dependendo do formato, você pode precisar usar vários arquivos CSV para representar todos os dados de uma forma útil.

Noções básicas sobre JSON e CSV

Arquivos JSON e CSV são duas maneiras comuns de representar dados digitais. JSON significa JavaScript Object Notatione é uma forma de representar dados como mapeamentos aninhados de chaves para valores, bem como listas de dados. É inspirado em como os dados são representados na linguagem de programação JavaScript, mas muitas linguagens de programação modernas, incluindo Python, têm ferramentas para processar dados JSON.

Vídeo do dia

UMA valor separado por vírgula arquivo é outra maneira de representar dados estruturados. Esses arquivos são frequentemente usados ​​com planilhas e tipos semelhantes de programas, então se você quiser importar JSON para Excel pode ser útil convertê-lo primeiro em um arquivo CSV. Geralmente, os arquivos CSV incluem cabeçalhos de coluna na parte superior do arquivo, indicando o que está armazenado em cada coluna. Em seguida, cada linha do arquivo consiste em vários valores, um para cada coluna, separados por vírgulas. Existem regras especiais para lidar com dados com vírgulas.

Assim como com os arquivos JSON, existem muitas ferramentas em muitas linguagens de programação, incluindo Python, para gerar e ler arquivos CSV.

Converter JSON em CSV

Você pode converter JSON em CSV usando as bibliotecas JSON e CSV integradas em Python. Importe-os em seu código adicionando linhas dizendo "import json" e "import csv" próximo ao topo do seu código.

Em seguida, use a biblioteca JSON "carga"método para importar os dados de um arquivo JSON. Ele será carregado como um dicionário Python. Use o dicionário "chaves"método para determinar os campos de dados no arquivo JSON que se tornarão as colunas em seu arquivo CSV.

Use a biblioteca CSV "DictWriter " classe para criar um arquivo CSV com essas colunas, especificando-as usando o "nomes de campos " argumento. Use seu "cabeçalhos de escrita"método para gerar os nomes das colunas na parte superior do CSV.

Em seguida, faça um loop pelo objeto JSON com um para loop. Ligar o método "writerow" do objeto CSV em cada elemento de dados no arquivo JSON para criar uma linha correspondente no arquivo CSV.

Arquivos JSON complexos

Alguns arquivos JSON complexos podem ser mais difíceis de representar como CSVs. Isso pode incluir arquivos que não se alinham imediatamente a uma estrutura padrão de linhas e colunas. Se você estiver lidando com esse tipo de arquivo e quiser convertê-lo em um CSV, terá algumas opções.

Primeiro, você pode procurar o conjunto total de campos de dados que ocorrem no arquivo JSON e torná-los as colunas do seu CSV. Deixe uma coluna em branco em uma linha específica se ela não aparecer lá. Use a opção "extrasaction = 'ignorar'" na configuração do Python CSV DictWriter para fazer isso automaticamente para campos que não ocorrem em uma parte específica dos dados.

Você também pode considerar a representação do arquivo JSON como vários CSVs, um para cada tipo de dados representado nele. Use Python E se instruções para detectar em qual arquivo CSV uma parte específica dos dados deve ser gravada.

Essa técnica também pode ser útil para arquivos JSON aninhados, nos quais os objetos JSON contêm outros objetos. Esses subobjetos podem ser colocados em seu próprio arquivo CSV com uma indicação de a qual linha no CSV primário eles correspondem.