Czy wiesz, jak przenosić dane z internetowych interfejsów API lub przechowywać różne rodzaje danych na swoich komputerach lokalnych? Tak czy inaczej zanurzyłeś się w JSON, który oznacza Notacja obiektu Java Script. Jest to znany i popularny format danych używany do reprezentowania danych częściowo ustrukturyzowanych. Dowiedz się więcej o szczegółach kodu JSON w języku Python.
W tym artykule zostaną omówione następujące aspekty:
Wprowadzenie do JSON w Pythonie:
JSON oznacza jot ava S cript LUB bject N uwagato sposób na przechowywanie informacji w zorganizowany i łatwy sposób. Dane muszą mieć postać tekstu podczas wymiany między przeglądarką a serwerem.
Na wypadek, gdybyś się zastanawiał, czy tak jest ? wtedy odpowiedź brzmi Nie. Jest to skrypt, który składa się z tekstu i służy do przechowywania i przesyłania danych w formacie czytelnym dla człowieka i komputera. Jest to mały, lekki format danych inspirowany JavaScriptem i zwykle używany w formacie tekstowym lub łańcuchowym. Pakiet plików JSON jest prawie identyczny ze słownikiem Pythona. Teraz musisz się zastanawiać
Jak czytać plik JSON w Pythonie?
Odpowiedź na twoje pytanie brzmi: musisz zaimportować moduł JSON, który generalnie konwertuje typy danych Python na plik ciągów JSON. Składa się z funkcji JSON, które odczytują i zapisują bezpośrednio z plików JSON. ma wbudowany pakiet JSON i jest częścią standardowej biblioteki, więc nie musisz go instalować.
Przykład:
import json
Teraz, gdy znasz już JSON w Pythonie, przyjrzyjmy się dokładniej analizowaniu.
Rozbiór gramatyczny zdania:
Biblioteka JSON może analizować JSON z smyczki lub pliki. Może również analizować JSON w lub wypisz i zrób na odwrót. Parsowanie zazwyczaj przebiega w dwóch etapach:
- Konwersja z JSON do Pythona
- Konwersja z Pythona do JSON
Lepiej zrozummy oba etapy.
Konwersja z JSON do Python:
Możesz przekonwertować ciąg JSON na Python za pomocąjson.loads ().
Pokażę Ci praktyczną implementację:
Przykład:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (dane)
Wynik:
Jak widać na powyższym wyjściu, wydrukowano plik . Wydrukujmy typ danych dla lepszego zrozumienia.
Przykład:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (type (data)) # drukuje typ danych
Wynik:
Teraz, gdy znasz już jedną konwersję, zobaczmy na drugim etapie inny typ konwersji.
Konwersja z Pythona do JSON:
Obiekt w języku Python można przekonwertować na ciąg JSON przy użyciujson.dumps ().
Spójrzmy na przykład podany poniżej:
Przykład:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) print (new_string)
Wynik:
Dane wyjściowe będą typu łańcucha JSON. Pokazałem już typ danych w konwersji JSON na Python, ta sama procedura zostanie zastosowana do drukowania typu danych.
Przejdźmy dalej i zobaczmy, jak Pandy analizują JSON.
Pandy analizują JSON:
Ciąg JSON można przeanalizować do pliku pandy Dataframe z następujących kroków:
- Następująca struktura ogólna może służyć do załadowania ciągu JSON do DataFrame.
importuj pandy jako pd pd.read_json (r'Path gdzie zapisałeś plik JSON Nazwa pliku.json ')
- Przygotuj ciąg JSON.
- Utwórz plik JSON, którego używamy to nobel_prize.json.
- Załaduj plik JSON do pandy DataFrame.
Poniższy kod zaimplementowany ładuje mój plik JSON do DataFrame.
import pandy as pd import json with open (r'C: UsersHarshit_KantDesktopnobel.prize.json ') as f: data = json.load (f) print (data) df = pd.DataFrame print (df)
Wynik:
Idąc dalej, zobaczmy, jak serializować JSON w Pythonie.
Serializacja JSON [kodowanie]:
Serializacja JSON oznacza po prostu, że kodujesz JSON. Konwertuje podaną strukturę danych Pythona (np. Dict) na jej prawidłowy obiekt JSON. Aby obsłużyć przepływ danych w pliku, biblioteka JSON w Pythonie używa pliku wysypisko() i depresja() metoda, która dokonuje konwersji i ułatwia zapisywanie danych do plików.
Poniżej znajduje się tabela ilustrująca Pyton typy danych konwertowane do odpowiedniego typu JSON.
Pyton | JSON |
dict (słownik) | obiekt |
lista, tablica jak zostać inżynierem sztucznej inteligencji | krotka |
strunowy | strunowy |
int, long, float | liczby |
Prawdziwe | prawdziwe |
Fałszywy | fałszywy |
Żaden | zero |
Punkty do zapamiętania:
wysypisko() - Konwertuje dane do pliku JSON
depresja() - Konwertuje dane na ciąg JSON
Załaduj() - Konwertuje plik JSON na obiekt Pythona
obciążenia () - Konwertuje obiekt ciągu JSON na obiekt w języku Python
Ładne drukowanie:
Pretty Printing dba o wyrównanie kodu i czyni go w formacie czytelnym dla człowieka. Spójrzmy na poniższy przykład, w którym przekazałem dwa parametry „sort_keys”, które zawsze zwracają logiczną wartość True i spacje „wcięcia”.
Przykład:
import json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data, sort_keys = True, indent = 3) print (new_string)
Wynik:
Przechodząc dalej w samouczku Python JSON, pozwól nam zrozumieć deserializację JSON.
Deserializacja JSON [dekodowanie]:
Deserializacja JSON jest dokładnym przeciwieństwem serializacji, tj. Oznacza, że dekodujesz JSON. Konwertuje podany ciąg JSON na plik Pyton obiekt korzystając z Załaduj() i masa() metoda, która dokonuje konwersji.
Poniżej znajduje się tabela ilustrująca konwersję typu danych JSON na odpowiedni typ Pythona.
JSON | Pyton |
obiekt | dict (słownik) |
krotka | lista, tablica |
strunowy | strunowy Samouczek dotyczący ruby on rails |
liczby | int, long, float |
prawdziwe | Prawdziwe |
fałszywy | Fałszywy |
zero | Żaden |
Przechodząc dalej w samouczku „Python JSON”. Pokażę wam przykład serializacji i deserializacji w czasie rzeczywistym z perspektywy kodowania.
Demonstracja kodowania:
W tej demonstracji kodowania korzystam z otrzymanego zestawu danych JSON o nazwie „Nagroda Nobla” tutaj . Dowiesz się, jak wykonać serializację i deserializację tego samego za pomocą pliku JSON.
Przykład (serializacja zbioru danych JSON):
import json with open ('nobel_prize.json.html') as f: data = json.load (f) with open ('new_nobel_prize.json.html') as f: json.dump (data, f, indent = 2)
Wynik:
jest pomyślnie skompilowany i tworzony jest nowy plik „new_nobel_prize.json”, w którym dane są zrzucane z już istniejącego pliku „nobel_prize.json”.
Przykład (deserializacja zbioru danych JSON):
import json with open ('nobel_prize.json.html') as f: data = json.load (f) for nobel_prize in data ['prizes']: print (nobel_prize ['year'], nobel_prize ['category'])
Wynik:
Fragment kodu przedstawia zmiany z pliku JSON do odpowiedniego obiektu w języku Python.
To prowadzi nas do końca naszego artykułu „Python JSON”. Mam nadzieję, że rozumiesz wszystkie pojęcia związane z JSON, analizowaniem, serializacją i deserializacją.
Upewnij się, że ćwiczysz jak najwięcej i cofnij swoje doświadczenie.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu o Pythonie JSON, a my skontaktujemy się z Tobą tak szybko, jak to możliwe. Aby uzyskać dogłębną wiedzę o Pythonie i jego różnych aplikacjach, możesz dzięki naszemu szkoleniu online na żywo z całodobowym wsparciem i dożywotnim dostępem.