IniziaInizia gratis

Manipolare i dati dei documenti

In questo capitolo hai esplorato diversi strumenti per lavorare con dati di documenti semi-strutturati in Postgres. In questo esercizio finale, metterai in pratica tutti questi strumenti per creare un insieme di dati pronto per l'analisi. Lavorerai con la tabella nested_reviews, che ha la forma mostrata qui sotto.

nested_reviews table, showing sample data.

Per aiutarti a iniziare, pandas è stato importato come pd ed è stato creato un oggetto di connessione, salvato nella variabile db_engine. Buon lavoro!

Questo esercizio fa parte del corso

Introduzione ai database NoSQL

Visualizza il corso

Istruzioni dell'esercizio

  • Usa l'operatore #> per restituire, come JSON, il campo annidato branch dall'oggetto location nella colonna review. Assegna l'alias branch.
  • Interroga il campo statement nella colonna review usando l'operatore ->>, assegnando il risultato all'alias statement.
  • Filtra i risultati includendo solo i record con una reviewer location pari a 'Australia', utilizzando la funzione json_extract_path_text.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice