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.

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
Instructions
- Utilisez l’opérateur
#>pour retourner le champ imbriquébranchde l’objetlocationdans la colonnereview, au format JSON. Donnez-lui l’aliasbranch. - Interrogez le champ
statementdans la colonnereviewavec l’opérateur->>, et donnez le résultat sous l’aliasstatement. - Filtrez les résultats pour ne conserver que les enregistrements dont le
reviewera une localisation égale à'Australia', en vous aidant de la fonctionjson_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)