https://raw.githubusercontent.com/MARINALDOSOUZA/dados_json/refs/heads/main/dados_json_V1
O que o código faz?
Obtenção de Dados Inteligente: Ele verifica se já existe um arquivo de dados local. Se sim, ele pergunta ao usuário se deseja usar a versão existente ou atualizar. Se o arquivo não existir ou se a atualização for solicitada, ele baixa os dados de uma URL e os salva localmente. Isso evita downloads desnecessários e oferece flexibilidade.
Processamento Robusto de JSON: O código lê o arquivo JSON e o converte em um DataFrame do pandas. Ele lida com estruturas aninhadas, como listas e dicionários, normalizando-as e expandindo-as em colunas separadas.
Limpeza e Tratamento de Dados:
Substitui valores vazios, como '', ' ' ou None, por NaN.
Preenche os valores numéricos NaN com o valor -1, facilitando a identificação e exclusão desses dados em análises posteriores sem perder as linhas.
Preenche os valores de texto NaN com a string 'Desconhecido'.
Otimização de Memória: Para grandes conjuntos de dados, o código otimiza o uso de memória convertendo os tipos de dados para o menor formato possível. Ele converte colunas de texto com poucos valores únicos para o tipo category e colunas numéricas para tipos inteiros ou de ponto flutuante menores.
Análise Final e Relatório:
Calcula a economia de memória alcançada pela otimização.
Verifica e informa o número de linhas duplicadas, dando ao usuário a opção de removê-las.
Exibe um resumo completo do DataFrame final, incluindo uma amostra com os nomes das colunas simplificados para melhor visualização.
Em resumo, este script é uma poderosa ferramenta de pré-processamento de dados que transforma um arquivo JSON complexo em um DataFrame limpo, otimizado e pronto para análise, demonstrando automação, resiliência a falhas e eficiência.