Tudja, hogyan továbbíthatja adatait az online API-kból, vagy különféle adatokat tárolhat a helyi gépeire? Így vagy úgy elmerült a JSON-ban, amely kiáll Java Script Object Notation. Ez egy elismert és népszerű adatformátum, amelyet félig strukturált adatok ábrázolására használnak. Ismerjünk meg részletesebben a Python JSON-ról.
A cikk a következő szempontokat tárgyalja:
A JSON bemutatása a Pythonban:
A JSON jelentése J ava S szkript VAGY tárgy N otációaz információ szervezett és könnyű tárolásának egyik módja. Az adatoknak szöveges formában kell lenniük, amikor egy böngésző és egy szerver között cserélnek.
Abban az esetben, ha kíváncsi vagy rá ? akkor a válasz az nem. Ez egy szövegből álló szkript, amelyet emberi és géppel olvasható formátumban tárolnak és adnak át. Ez egy kicsi, könnyű, a JavaScript ihlette adatformátum, amelyet általában szöveges vagy karakterlánc formátumban használnak. Egy csomag JSON szinte azonos a python szótárral. Most biztosan kíváncsi vagy
Hogyan olvasható el egy JSON fájl Pythonban?
A kérdésre a válasz az, hogy importálnia kell a JSON modult, amely általában a Python adattípusokat konvertálja a JSON karakterlánc fájlba. JSON-funkciókból áll, amelyek közvetlenül JSON-fájlokból olvasnak és írnak. beépített JSON csomaggal rendelkezik, és része a standard könyvtárnak, ezért nem kell telepítenie.
Példa:
import json
Most, hogy ismeri a JSON-t a Pythonban, vessünk egy mélyebb pillantást az elemzésre.
Elemzés:
A JSON-könyvtár elemezni tudja a JSON-t húrok vagy fájlokat. A JSON-t is elemezheti a vagy sorolja fel és fordítva. Az elemzés általában két szakaszban történik:
- Konvertálás JSON-ból Python-ba
- Konvertálás Pythonról JSON-ra
Ismerjük meg jobban mindkét szakaszt.
Konvertálás JSON-ból Python-ba:
A JSON karakterláncot Pythonra konvertálhatja a használatávaljson.loads ().
Hadd mutassam meg a gyakorlati megvalósítást:
Példa:
import json people_string = '' {'emberek': [{'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'}]}} »adatok = json.loads (emberek_lánc) nyomtatás (adatok)
Kimenet:
Mint a fenti kimenetből látható, kinyomtatta a . A jobb megértés érdekében nyomtassuk ki az adattípust.
Példa:
import json people_string = '' {'emberek': [{'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)) # kinyomtatja az adattípust
Kimenet:
Most, hogy ismeri az egyik konverziót, lássuk a másik konverziótípust a második szakaszban.
Konvertálás Python-ból JSON-ba:
A Python objektum a JSON karakterlánccá konvertálható a használatávaljson.dumps ().
Vessünk egy pillantást az alábbiakban bemutatott példára:
Példa:
import json people_string = '' {'emberek': [{'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)
Kimenet:
A kimenet JSON karakterlánc típusú lesz. Az adattípust már bemutattam a JSON-Python konverzióban, ugyanezt az eljárást fogjuk követni az adattípus nyomtatásakor.
Menjünk előre, és nézzük meg, hogyan elemzik Pandas a JSON-t.
Pandák JSON elemzése:
A JSON karakterlánc elemezhető a-ra pandák Adatkeret a következő lépésekből:
különbség a html és az xml között
- A következő általános struktúrával lehet betölteni a JSON karakterláncot a DataFrame-be.
importálja a pandákat pd pd.read_json néven (r'Path, ahová a JSON fájlt mentette: File Name.json ')
- Készítse elő a JSON karakterláncot.
- Hozzon létre egy JSON fájlt, amelyet a nobel_prize.json fájlnak használunk.
- Töltse be a JSON fájlt a pandas DataFrame fájlba.
Az alább megvalósított kód betölti a JSON fájlomat a DataFrame-be.
importálja a pandákat pd-ként importálja a json-t nyitott (r'C: UsersHarshit_KantDesktopnobel.prize.json ') néven f: data = json.load (f) print (data) df = pd.DataFrame print (df)
Kimenet:
Haladva nézzük meg, hogyan sorosíthatja a JSON-ot a Pythonban.
A JSON [kódolása] sorosítása:
A JSON sorosítása egyszerűen azt jelenti, hogy a JSON-t kódolja. Átalakítja az adott Python adatstruktúrát (ex: dict) érvényes JSON objektumává. A fájl adatfolyamának kezeléséhez a Python JSON-könyvtárában a lerak() és guba() módszer, amely elvégzi az átalakítást és megkönnyíti az adatok fájlokba írását.
Az alábbiakban egy táblázat szemlélteti a Piton adattípusok a megfelelő JSON típusra konvertálva.
Piton | JSON |
dict (szótár) | tárgy |
lista, tömb | tuple |
húr | húr |
int, hosszú, úszó | számok |
Igaz | igaz |
Hamis | hamis |
Egyik sem | nulla |
Emlékezetes pontok:
lerak() - Átalakítja az adatokat JSON fájlokká
guba() - Az adatokat JSON karakterláncokká alakítja
Betöltés() - A JSON fájlt átalakítja Python objektummá
terhelések () - A JSON karakterlánc objektumát Python objektummá alakítja
Szép nyomtatás:
A Pretty Printing gondoskodik a kód igazításáról, és ember által olvasható formátumban teszi. Nézzük meg az alábbi példát, ahol két olyan paramétert adtam át: ‘sort_keys’, amelyek mindig logikai True értéket és „behúzás” szóközt adnak vissza.
Példa:
import json people_string = '' {'emberek': [{'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) új_string = json.dumps (adatok, sort_keys = True, behúzás = 3) print (new_string)
Kimenet:
Haladva a Python JSON oktatóanyagban, értsük meg a JSON deserializációját.
A JSON [Decode] deserializálása:
A JSON deserializációja pontosan ellentétes a szerializációval, vagyis azt jelenti, hogy dekódolod a JSON-ot. A megadott JSON karakterláncot a-vá konvertálja Piton tárgy felhasználásával Betöltés() és terhelések () módszer, amely elvégzi az átalakítást.
Az alábbiakban egy táblázat szemlélteti a JSON adattípus átalakítását a megfelelő Python típusgá.
JSON | Piton |
tárgy | dict (szótár) |
tuple | lista, tömb xml fájlok elemzése a Java-ban |
húr | húr |
számok | int, hosszú, úszó |
igaz | Igaz |
hamis | Hamis |
nulla | Egyik sem |
Haladás a „Python JSON” oktatóanyagban. Mutatok egy valós idejű példát mind a szerializációra, mind a deserializálásra a kódolási perspektíva révén.
Kódolás bemutatása:
Ebben a kódolási bemutatóban egy „Nobel-díj” elnevezésű JSON-adatbázist veszek igénybe, amelyet átadnak itt . Megtanulja, hogyan kell ugyanezeket sorosítani és deszerializálni egy JSON fájl segítségével.
Példa (JSON-adatkészlet sorosítása):
importálja a json-t az open ('nobel_prize.json.html') fájlban f: data = json.load (f) az open ('new_nobel_prize.json.html') fájl f: json.dump (data, f, indent = 2)
Kimenet:
sikeresen lefordításra kerül, és egy új „new_nobel_prize.json” fájl jön létre, ahol az adatokat egy már létező „nobel_prize.json” fájlból dobják ki.
Példa (a JSON-adatkészlet deserializálása):
importálja a json-t open ('nobel_prize.json.html') névvel f: data = json.load (f) for nobel_prize in data ['díjak']: print (nobel_prize ['év'], nobel_prize ['kategória'])
Kimenet:
A kódrészlet megmutatja a JSON fájlból a megfelelő Python objektummá történő változásokat.
Ezzel eljutottunk a „Python JSON” cikkünk végéhez. Remélem, hogy tisztában van a JSON-hoz, az elemzéshez, a sorosításhoz és a deserializációhoz kapcsolódó összes fogalommal.
Győződjön meg róla, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.
Van egy kérdésünk? Kérjük, említse meg a Python JSON cikk megjegyzés szakaszában, és a lehető leghamarabb kapcsolatba lépünk Önnel. Ha részletes ismereteket szeretne szerezni a Pythonról és annak különböző alkalmazásokról, megteheti élő online képzésünkkel, 24/7 támogatással és életre szóló hozzáféréssel.