
Jednym z najczęściej używanych formatów danych w Pythonie jest JSON (JavaScript Object Notation). Biblioteka Pandas oferuje wygodne narzędzie do pracy z danymi w tym formacie – funkcję read_json(). W tym artykule pokażę, jak działa pandas.read_json(), omówię jego parametry i zaprezentuję praktyczne przykłady.
Co to jest pandas.read_json()?
Funkcja pandas.read_json() służy do wczytywania danych zapisanych w formacie JSON do obiektu DataFrame. JSON jest popularnym formatem wymiany danych, często stosowanym w API, plikach konfiguracyjnych i bazach danych NoSQL.
Podstawowa składnia
Podstawowe wywołanie funkcji wygląda następująco:
import pandas as pd
df = pd.read_json("dane.json")
Funkcja read_json() może przyjmować zarówno ścieżkę do pliku JSON, jak i bezpośrednio ciąg znaków w tym formacie.
Parametry funkcji pandas.read_json()
Podczas pracy z JSON warto znać dodatkowe argumenty funkcji:
path_or_buf– ścieżka do pliku JSON lub obiekt typu string z danymi w formacie JSON.orient– określa format wejściowy JSON, możliwe wartości:"split"– JSON w formacie klucz-wartość (index, columns, data)."records"– lista słowników (każdy wiersz jest osobnym słownikiem)."index"– słownik, gdzie kluczem jest indeks, a wartością kolumna."columns"– klasyczny słownik kolumnowy."values"– tylko wartości w postaci listy list.
dtype– pozwala wymusić typ danych dla kolumn.convert_dates– konwersja kolumn do typu daty.encoding– ustawienie kodowania, np."utf-8".
Przykłady zastosowania pandas.read_json()
Przyjrzyjmy się kilku przykładom praktycznym.
Wczytanie JSON zapisanego w pliku
df = pd.read_json("dane.json")
print(df.head())
Wczytanie JSON ze zmiennej jako string
import json
dane = '''[
{"imie": "Jan", "wiek": 30, "miasto": "Warszawa"},
{"imie": "Anna", "wiek": 25, "miasto": "Kraków"}
]'''
df = pd.read_json(dane)
print(df)
Użycie parametru orient
Załóżmy, że json ma strukturę records:
dane = '''{"dane": [
{"imie": "Jan", "wiek": 30},
{"imie": "Anna", "wiek": 25}
]}'''
df = pd.read_json(dane, orient="records")
print(df)
Parsowanie dat
Gdy mamy JSON zawierający daty, warto je skonwertować:
dane = '''[{"data": "2024-06-01", "wartosc": 100},
{"data": "2024-06-02", "wartosc": 200}]'''
df = pd.read_json(dane, convert_dates=["data"])
print(df.dtypes)
Konwersja JSON do tabeli
Przekształcenie danych z JSON do czytelnej tabeli w Pandas pozwala na ich łatwą analizę. Oto przykładowy JSON:
[
{"imie": "Jan", "wiek": 30, "miasto": "Warszawa"},
{"imie": "Anna", "wiek": 25, "miasto": "Kraków"},
{"imie": "Piotr", "wiek": 40, "miasto": "Gdańsk"}
]
Po wczytaniu do Pandas tabela wygląda tak:
| imie | wiek | miasto |
|---|---|---|
| Jan | 30 | Warszawa |
| Anna | 25 | Kraków |
| Piotr | 40 | Gdańsk |
Podsumowanie
Funkcja pandas.read_json() to potężne narzędzie do pracy z danymi w formacie JSON. Umożliwia łatwe wczytywanie plików i łańcuchów znaków JSON do DataFrame, oferując jednocześnie wiele opcji konwersji. Dzięki różnym wartościom parametru orient można dostosować sposób interpretacji struktury danych.
Znajomość tej funkcji pozwala na efektywne przetwarzanie danych z API, baz i plików konfiguracyjnych, co znacząco ułatwia pracę z danymi w języku Python.
Inny ciekawy artykuł:
Jak działa pandas read_sql w języku Python? Przykład zastosowania
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

