Zacznij terazZacznij za darmo

Manipulowanie danymi dokumentów

W tym rozdziale poznałeś(-aś) szereg narzędzi do pracy z semi-strukturalnymi danymi dokumentów w Postgresie. W tym ostatnim ćwiczeniu wykorzystasz je wszystkie, aby przygotować zbiór danych gotowy do analizy. Będziesz pracować z tabelą nested_reviews, która ma postać przedstawioną poniżej.

Tabela nested_reviews z przykładowymi danymi.

Na dobry start: biblioteka pandas została zaimportowana jako pd, a obiekt połączenia jest dostępny w zmiennej db_engine. Powodzenia!

To ćwiczenie jest częścią kursu

Wprowadzenie do NoSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj operatora #>, aby zwrócić zagnieżdżone pole branch z obiektu location w kolumnie review jako JSON. Nadaj mu alias branch.
  • Pobierz pole statement z kolumny review, używając operatora ->>, nadając wynikowi alias statement.
  • Ogranicz wyniki wyłącznie do rekordów, w których lokalizacja reviewer to 'Australia' – skorzystaj w tym celu z funkcji json_extract_path_text.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod