ComeçarComece gratuitamente

Manipulação de dados de documentos

Ao longo deste capítulo, você explorou várias ferramentas para trabalhar com dados de documentos semiestruturados no Postgres. Neste exercício final, você colocará todas essas ferramentas em funcionamento para criar um conjunto de dados pronto para análise. Você trabalhará com a tabela nested_reviews, que tem a forma mostrada abaixo.

![tabela nested_reviews, mostrando dados de amostra](https://assets.datacamp.com/production/repositories/6394/datasets/a5a5c6c4c7685e62aad0aeb56ccc55b5afaa19ac/Chapter%203.3%20Exercises.png =85%x85%)

Para ajudar você a começar, pandas foi importado como pd, e um objeto de conexão foi criado e armazenado na variável db_engine. Boa sorte!

Este exercício faz parte do curso

Introdução ao NoSQL

Ver Curso

Instruções de exercício

  • Usar o operador #> para retornar o campo branch aninhado do objeto location na coluna review, como JSON. Alias como branch.
  • Consulte o campo statement na coluna review, usando o operador ->>, colocando o resultado como statement.
  • Filtre os resultados para incluir apenas registros com um local reviewer de 'Australia', com a ajuda da função json_extract_path_text.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Extract fields from JSON, and filter by reviewer location
query = """
    SELECT
    	review_id,
        ____ #> '{____, ____}' AS ____,
        ____ ->> '____' AS ____,
        rating
    FROM nested_reviews
    WHERE ____(____, '____', '____') = 'Australia'
    ORDER BY rating DESC;
"""

data = pd.read_sql(query, db_engine)
print(data)
Editar e executar código