Znate li kako prenijeti podatke s mrežnih API-ja ili pohraniti različite vrste podataka na svoje lokalne strojeve? Na ovaj ili onaj način uronili ste u JSON koji stoji Oznaka objekta Java Script. To je poznati i popularni format podataka koji se koristi za predstavljanje polustrukturiranih podataka. Detaljno upoznajmo više o Python JSON-u.
U ovom će se članku raspravljati o sljedećim aspektima:
Uvod u JSON u Pythonu:
JSON je kratica J ava S kript ILI bjekt N otacijaje način za pohranu podataka na organiziran i lagan način. Podaci moraju biti u obliku teksta prilikom razmjene između preglednika i poslužitelja.
U slučaju da se pitate je li ? onda je odgovor Ne. To je skripta koja se sastoji od teksta i koristi se za pohranu i prijenos podataka u ljudskom i strojno čitljivom formatu. To je mali, lagani format podataka nadahnut JavaScriptom i općenito se koristi u obliku teksta ili niza. Paket od JSON je gotovo identičan rječniku pythona. Sad se sigurno pitate
Kako čitati JSON datoteku u Pythonu?
Odgovor na vaše pitanje je, morate uvesti JSON modul koji obično pretvara Python tipove podataka u datoteku niza JSON. Sastoji se od JSON funkcija koje čitaju i pišu izravno iz JSON datoteka. ima ugrađeni JSON paket i dio je standardne knjižnice, pa ga ne morate instalirati.
Primjer:
uvoz json
Sad kad ste svjesni JSON-a u Pythonu, pogledajmo dublje raščlanjivanje.
Raščlanjivanje:
JSON knjižnica može raščlaniti JSON iz žice ili datoteke. Također može raščlaniti JSON na ili navesti i napraviti obrnuto. Raščlanjivanje se obično događa u dvije faze:
- Pretvorba iz JSON-a u Python
- Pretvorba iz Pythona u JSON
Idemo bolje razumjeti obje faze.
Pretvorba iz JSON-a u Python:
Možete pretvoriti JSON niz u Python pomoćujson.loads ().
Dopustite mi da vam pokažem praktičnu primjenu:
Primjer:
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 (podaci)
Izlaz:
Kao što možete vidjeti iz gornjeg rezultata, ispisao je . Ispišimo tip podataka radi boljeg razumijevanja.
Primjer:
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)) #ispisuje tip podataka
Izlaz:
Sada, kad ste upoznati s jednom pretvorbom, pogledajmo drugu vrstu pretvorbe u drugoj fazi.
Pretvorba iz Pythona u JSON:
Python objekt može se pretvoriti u JSON niz pomoćujson.dumps ().
Pogledajmo primjer naveden u nastavku:
Primjer:
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'}]}} '' 'podaci = json.loads (niz_ ljudi) new_string = json.dumps (podaci) ispis (new_string)
Izlaz:
Izlaz će biti tipa JSON niza. Već sam demonstrirao tip podataka u pretvorbi JSON u Python, slijedi se isti postupak slijedit će se i za ispis tipa podataka.
što je pretjerano u strojnom učenju
Krenimo dalje i vidjet ćemo kako Pande raščlanjuju JSON.
Raščlanjivanje pandi JSON:
JSON niz može se raščlaniti na pande Okvir podataka iz sljedećih koraka:
- Sljedeća generička struktura može se koristiti za učitavanje JSON niza u DataFrame.
uvezi pande kao pd pd.read_json (r'Path gdje ste spremili datoteku JSON FileFile Name.json ')
- Pripremite JSON niz.
- Stvorite JSON datoteku koju koristimo je nobel_prize.json.
- Učitajte JSON datoteku u pandas DataFrame.
Dolje implementirani kôd učitava moju JSON datoteku u DataFrame.
uvezi pande kao pd uvozi json sa open (r'C: UsersHarshit_KantDesktopnobel.prize.json ') kao f: data = json.load (f) print (data) df = pd.DataFrame print (df)
Izlaz:
Krenimo dalje, da vidimo kako možete serializirati JSON u Pythonu.
Serijalizacija JSON-a [kodiranje]:
Serijalizacija JSON-a jednostavno znači da kodirate JSON. Pretvara zadanu strukturu podataka Python (npr: dict) u svoj valjani JSON objekt. Za rukovanje protokom podataka u datoteci, JSON knjižnica u Pythonu koristi istovariti() i odlagališta () metoda koja vrši pretvorbu i olakšava upisivanje podataka u datoteke.
Dolje je dana tablica koja ilustrira Piton tipovi podataka pretvaranje u njihov odgovarajući JSON tip.
Piton | JSON |
dikt (rječnik) | objekt |
popis, niz | korijen |
niz | niz |
int, long, float | brojevi |
Pravi | pravi |
Lažno | lažno |
Nijedna | nula |
Bodovi koje treba zapamtiti:
istovariti() - Pretvara podatke u JSON datoteku
odlagališta () - Pretvara podatke u JSON niz
opterećenje() - Pretvara JSON datoteku u Python objekt
opterećenja () - Pretvara objekt JSON niza u Python objekt
Lijepi ispis:
Pretty Printing brine se o poravnanju koda i čini ga u čitljivom formatu. Pogledajmo donji primjer u kojem sam proslijedio dva parametra 'sort_keys' koji uvijek vraćaju logičke vrijednosti True i 'indent' razmake.
Primjer:
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'}]}} '' 'podaci = json.loads (ljudi_niz) new_string = json.dumps (podaci, tipke_razvrstavanja = True, uvlaka = 3) ispis (new_string)
Izlaz:
Krećući se dalje u vodiču za Python JSON, shvatimo deserijalizaciju JSON-a.
Deserijalizacija JSON-a [Dekodiranje]:
Deserijalizacija JSON-a je sušta suprotnost serializaciji, tj. To znači da dekodirate JSON. Pretvara zadani JSON niz u Piton objekt korištenjem opterećenje() i opterećenja () metoda koja vrši pretvorbu.
Dolje je dana tablica koja ilustrira pretvorbu JSON tipa podataka u odgovarajući Python tip.
JSON | Piton |
objekt | dikt (rječnik) |
korijen | popis, niz |
niz | niz |
brojevi | int, long, float |
pravi | Pravi |
lažno | Lažno java addactionlistener (ovo) |
nula | Nijedna |
Kretanje prema naprijed u vodiču 'Python JSON'. Pokazat ću vam primjer serializacije i deserializacije u stvarnom vremenu kroz perspektivu kodiranja.
Demonstracija kodiranja:
U ovoj demonstraciji kodiranja koristim JSON skup podataka nazvan „Nobelova nagrada“ koji je dodijeljen ovdje . Naučit ćete kako izvršiti serializaciju i deserializaciju istih putem JSON datoteke.
Primjer (serializacija JSON skupa podataka):
uvezi json s open ('nobel_prize.json.html') kao f: data = json.load (f) s open ('new_nobel_prize.json.html') kao f: json.dump (data, f, indent = 2)
Izlaz:
uspješno se kompilira i stvara se nova datoteka 'new_nobel_prize.json' gdje se podaci izbacuju iz već postojeće datoteke 'nobel_prize.json'.
Primjer (Deserijalizacija JSON skupa podataka):
uvezi json s otvorenim ('nobel_prize.json.html') kao f: data = json.load (f) za nobel_prize u podacima ['nagrade']: ispis (nobel_prize ['godina'], nobel_prize ['kategorija'])
Izlaz:
Isječak koda prikazuje promjene iz JSON datoteke u pripadajući Python objekt.
Ovo nas dovodi do kraja našeg članka 'Python JSON'. Nadam se da su vam jasni svi koncepti povezani s JSON-om, raščlanjivanjem, serializacijom i deserijalizacijom.
Obavezno vježbajte što je više moguće i vratite svoje iskustvo.
Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog članka o Python JSON-u, a javićemo vam se što je prije moguće. Da biste stekli detaljno znanje o Pythonu, zajedno s raznim aplikacijama, to možete uz naš internetski trening uživo s podrškom 24/7 i doživotnim pristupom.