Wczytaj JSON do dataframe Pandas

Aby wczytać dane z pliku JSON do DataFrame w Pythonie, należy użyć funkcji pandas.read_json. Funkcja ta przyjmuje następujące parametry:

  • json – ciąg znaków lub obiekt typu file-like, zawierający dane w formacie JSON. Może to być plik lokalny, URL lub zawartość pliku przechowywana w zmiennej.
  • orient – określa, w jaki sposób dane zostaną złożone w strukturę DataFrame. Możliwe wartości to: ‘split’, ‘records’, ‘index’, ‘columns’, ‘values’ i ‘table’.
  • typ – określa, czy dane są tabelą (domyślnie), ciągiem znaków czy słownikiem. Możliwe wartości to ‘frame’, ‘series’ i ‘dict’.
  • dtype – słownik, określający typy danych dla poszczególnych kolumn.
  • convert_axes – określa, czy zamienić nazwy osi na nazwy kolumn.
  • convert_dates – określa, czy zamienić ciągi znaków reprezentujące daty na obiekty typu datetime.
  • keep_default_dates – określa, czy zachować domyślne wartości daty
  • date_unit – ciąg znaków, określający jednostkę czasu, w której zapisane są daty w pliku JSON. Możliwe wartości to ‘s’, ‘ms’, ‘us’ i ‘ns’ (odpowiednio dla sekund, milisekund, mikrosekund i nanosekund).
  • encoding – ciąg znaków, określający kodowanie pliku.
  • chunksize – liczba wierszy, jakie mają być wczytane jednorazowo. Używane, gdy dane są zbyt duże, aby móc je wczytać do pamięci.
  • lines – określa, czy dane są ciągiem znaków zawierającym wiele linii
  • orient='columns' – dane są przechowywane w formie tabeli, w której kolumny są słownikami zawierającymi nazwę kolumny i jej wartości.
  • orient='records' – dane są przechowywane w formie listy słowników, gdzie każdy słownik zawiera pary klucz-wartość odpowiadające kolumnom i ich wartościom.
  • orient='index' – dane są przechowywane w formie słownika, gdzie klucze są indeksami, a wartościami są listy odpowiadające kolumnom.
  • typ='dict' – dane są przechowywane w formie słownika, gdzie klucze są nazwami kolumn, a wartościami są listy odpowiadające wartościom w kolumnach.
  • convert_dates=True – wszystkie ciągi znaków reprezentujące daty zostaną zamienione na obiekty typu datetime.
  • date_unit='ms' – daty są zapisane w milisekundach i zostaną odpowiednio przeliczone na obiekty typu datetime.
  • Przykłady:
import pandas as pd

# Wczytaj dane z pliku JSON
df = pd.read_json('dane.json', orient='columns')

# Wczytaj dane z URL
df = pd.read_json('https://example.com/dane.json', orient='index')

# Wczytaj dane z pliku JSON, gdzie indeksy są słownikami zawierającymi nazwę kolumny i jej wartości
df = pd.read_json('dane.json', orient='index')

# Wczytaj dane z zmiennej zawierającej dane w formacie JSON, gdzie dane są listą słowników, gdzie każdy słownik zawiera pary klucz-wartość odpowiadające kolumnom i ich wartościom
dane = '[{"Kolumna1": 1, "Kolumna2": "Wartość1"}, {"Kolumna1": 2, "Kolumna2": "Wartość2"}]'
df = pd.read_json(dane, orient='records')

# Wczytaj dane z URL, gdzie dane są słownikiem, gdzie klucze są nazwami kolumn, a wartościami są listy odpowiadające wartościom w kolumnach
df = pd.read_json('https://example.com/dane.json', orient='columns', typ='dict')