
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 zastosowaniaOpanuj 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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.