CommencerCommencer gratuitement

Manipuler des données de documents

Tout au long de ce chapitre, vous avez découvert plusieurs outils pour travailler avec des données de documents semi-structurées dans Postgres. Dans cet exercice final, vous allez mobiliser l’ensemble de ces outils pour créer un jeu de données prêt pour l’analyse. Vous allez travailler avec la table nested_reviews, qui a la forme illustrée ci-dessous.

nested_reviews table, showing sample data.

Pour vous aider à démarrer, pandas a été importé sous le nom pd, et un objet de connexion a été créé puis stocké dans la variable db_engine. Bonne chance !

Cet exercice fait partie du cours

Introduction à NoSQL

Afficher le cours

Instructions

  • Utilisez l’opérateur #> pour retourner le champ imbriqué branch de l’objet location dans la colonne review, au format JSON. Donnez-lui l’alias branch.
  • Interrogez le champ statement dans la colonne review avec l’opérateur ->>, et donnez le résultat sous l’alias statement.
  • Filtrez les résultats pour ne conserver que les enregistrements dont le reviewer a une localisation égale à 'Australia', en vous aidant de la fonction json_extract_path_text.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code