Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre a função .json_normalize

Saudações

Estava fazendo o desafio correspondente à aula 03 e decidir utilizar o parâmetro record_path para testar o retorno do código. A minha previsão era que este comando retornaria uma saída idêntica a minha primeira resolução do desafio.

Então, 1ª Resposta: df_normalizado = pd.json_normalize(resultado) e;

Teste com o record_path: df_normalizado2 = pd.json_normalize(resultado, record_path=['nutritions']) e obtive o seguinte erro:

ErroGostaria de saber se essa situção não se enquadra para a utilização do parâmetro record_path ou se utilizei de maneira errônea? Também gostaria de saber qual foi a diferença desse caso, para o caso utilizado como exemplo do parâmetro record_path na Aula 03 - parte 05 Para saber mais: aprofundando na normalização.

1 resposta
solução!

Olá, Paulo

Nesse desafio da aula 3 basta usar o seguinte código para obter os dados e fazer a normalização:

import requests
import json

dados_frutas = requests.get('https://fruityvice.com/api/fruit/all')
resultado = json.loads(dados_frutas.text)

import pandas as pd
dados_frutas_normalizado = pd.json_normalize(resultado)

Esse parâmetro record_path é usado para extrair registros aninhados de um arquivo JSON e normalizá-los em um DataFrame.

Um JSON aninhado é como uma "boneca russa" ou um conjunto de caixas dentro de caixas. Em termos simples, imagine que você tem um arquivo JSON, que é uma forma de organizar informações em um formato fácil de ler por máquinas e humanos. Um JSON aninhado ocorre quando dentro desse arquivo JSON, você tem objetos ou dicionários que estão dentro de outros objetos ou dicionários. Isso cria uma estrutura de dados hierárquica, onde você tem níveis ou camadas de informações.

Se você não especificar o record_path, a função pd.json_normalize() tentará inferir o caminho dos registros aninhados automaticamente, o que geralmente funciona bem se a estrutura do seu JSON estiver bem definida, como é o caso desse desafio da aula 3, em que os dados não estão aninhados!

Se ainda tiver alguma dúvida não hesite em chamar!

Bons estudos