ComenzarEmpieza gratis

Manipular datos de documentos

A lo largo de este capítulo, has visto varias herramientas para trabajar con datos de documentos semiestructurados en Postgres. En este ejercicio final, vas a ponerlas todas en práctica para crear un conjunto de datos listo para análisis. Trabajarás con la tabla nested_reviews, que tiene el formato que ves abajo.

nested_reviews table, showing sample data.

Para ayudarte a empezar, se ha importado pandas como pd, y se ha creado un objeto de conexión que se ha guardado en la variable db_engine. ¡Mucha suerte!

Este ejercicio forma parte del curso

Introducción a NoSQL

Ver curso

Instrucciones del ejercicio

  • Usa el operador #> para devolver el campo anidado branch del objeto location en la columna review, como JSON. Ponle el alias branch.
  • Consulta el campo statement en la columna review usando el operador ->>, y asigna el alias statement al resultado.
  • Filtra los resultados para incluir solo los registros cuyo reviewer tenga location igual a 'Australia', con ayuda de la función json_extract_path_text.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código