ragfica.pages.dev

Como criar um script Python para parsear JSON aninhado e exportar para Excel?

Processar JSON aninhado manualmente é uma tarefa tediosa e propensa a erros. Com um script Python, você automatiza a extração de dados complexos e exporta diretamente para uma planilha, economizando tempo e garantindo precisão.

Pré-requisitos

Passo 1: Importar bibliotecas necessárias

Comece importando as bibliotecas que vão manipular o JSON e criar a planilha Excel.

import json
import pandas as pd

Passo 2: Carregar e parsear o arquivo JSON

Use a função json.load() para ler o arquivo e convertê-lo em um dicionário Python.

with open('dados.json', 'r', encoding='utf-8') as arquivo:
    dados = json.load(arquivo)

Passo 3: Normalizar dados aninhados com pandas

A função pd.json_normalize() transforma estruturas aninhadas em um DataFrame tabular, facilitando a exportação.

df = pd.json_normalize(
    dados,
    record_path=['usuarios'],  # caminho para lista principal
    meta=[                     # campos de nível superior
        'empresa',
        ['contato', 'nome'],
        ['contato', 'email']
    ]
)

Passo 4: Exportar DataFrame para Excel

Use to_excel() para salvar os dados em uma planilha, ajustando parâmetros como nome da planilha e formatação.

df.to_excel('saida.xlsx', index=False, sheet_name='Dados Usuários')

Exemplo Prático

Entrada JSON:

{
  "empresa": "Tech Solutions",
  "contato": {
    "nome": "Ana Silva",
    "email": "ana@tech.com"
  },
  "usuarios": [
    {
      "id": 1,
      "nome": "João",
      "email": "joao@email.com",
      "perfil": {
        "tipo": "admin",
        "ativo": true
      }
    },
    {
      "id": 2,
      "nome": "Maria",
      "email": "maria@email.com",
      "perfil": {
        "tipo": "user",
        "ativo": false
      }
    }
  ]
}

Tabela Excel gerada:

empresa contato.nome contato.email id nome email perfil.tipo perfil.ativo
Tech Solutions Ana Silva ana@tech.com 1 João joao@email.com admin True
Tech Solutions Ana Silva ana@tech.com 2 Maria maria@email.com user False

Conclusão

Com este script, você transforma dados JSON complexos em uma planilha organizada em poucos passos, eliminando processos manuais e reduzindo a chance de erros.