Manipular datos de documentos
A lo largo de este capítulo, has explorado una serie de herramientas para trabajar con datos de documentos semiestructurados en Postgres. En este ejercicio final, pondrás en práctica todas estas herramientas para crear un conjunto de datos listo para el análisis. Trabajarás con la tabla nested_reviews
, que tiene la forma que se muestra a continuación.

Para ayudarte a empezar, se ha importado pandas
como pd
, y se ha creado un objeto de conexión que se almacena en la variable db_engine
. ¡Mucha suerte!
Este ejercicio forma parte del curso
Introducción al NoSQL
Instrucciones del ejercicio
- Utilizando el operador
#>
para devolver el campo anidadobranch
del objetolocation
en la columnareview
, como JSON. Alias comobranch
. - Consulta el campo
statement
en la columnareview
, utilizando el operador->>
, aliasando el resultado comostatement
. - Filtra los resultados para incluir sólo los registros con una ubicación
reviewer
de'Australia'
, con ayuda de la funciónjson_extract_path_text
.
Ejercicio interactivo práctico
Prueba este ejercicio completando 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)