Víte, jak přenášet data z online rozhraní API nebo ukládat různé druhy dat na místní počítače? Tak či onak jste se ponořili do JSON, což znamená Java Script Object Notation. Jedná se o renomovaný a populární datový formát používaný k reprezentaci polostrukturovaných dat. Pojďme se podrobněji seznámit s Python JSON.
V tomto článku se budeme zabývat následujícími aspekty:
Úvod do JSON v Pythonu:
JSON znamená J ava S krypt NEBO bject N otaceje způsob organizovaného a snadného ukládání informací. Při výměně mezi prohlížečem a serverem musí být data ve formě textu.
V případě, že vás zajímá, jestli ano ? pak je odpověď Ne. Jedná se o skript, který je tvořen textem a slouží k ukládání a přenosu dat v lidském a strojově čitelném formátu. Jedná se o malý a lehký datový formát inspirovaný JavaScriptem a obvykle používaný v textovém nebo řetězcovém formátu. Balíček něčeho JSON je téměř totožný se slovníkem pythonu. Teď se musíte divit
Jak číst soubor JSON v Pythonu?
Odpověď na vaši otázku je, že musíte importovat modul JSON, který obecně převádí datové typy Pythonu do souboru řetězce JSON. Skládá se z funkcí JSON, které čtou a zapisují přímo ze souborů JSON. má integrovaný balíček JSON a je součástí standardní knihovny, takže jej nemusíte instalovat.
Příklad:
importovat JSON
Nyní, když víte o JSON v Pythonu, pojďme se hlouběji podívat na analýzu.
Analýza:
Knihovna JSON může analyzovat JSON z struny nebo soubory. Může také analyzovat JSON do nebo vypsat a udělat naopak. Analýza obvykle probíhá ve dvou fázích:
- Konverze z JSON na Python
- Konverze z Pythonu na JSON
Pojďme lépe porozumět oběma fázím.
Konverze z JSON na Python:
Řetězec JSON můžete převést na Python pomocíjson.loads ().
Ukážu vám praktickou implementaci:
Příklad:
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 (data)
Výstup:
Jak vidíte z výše uvedeného výstupu, vytiskl a . Vytiskneme datový typ, abychom lépe porozuměli.
Příklad:
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)) #prints the datatype
Výstup:
Nyní, když jste obeznámeni s jednou konverzí, podívejme se na druhý typ konverze ve druhé fázi.
Konverze z Pythonu na JSON:
Objekt Pythonu lze převést na řetězec JSON pomocíjson.dumps ().
Podívejme se na příklad uvedený níže:
Příklad:
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)
Výstup:
Výstup bude typu řetězce JSON. Již jsem předvedl datový typ v převodu JSON na Python, stejný postup se použije při tisku datového typu.
Pojďme se podívat, jak Pandy analyzují JSON.
java změna zdvojnásobit na int
Analýza pand JSON:
Řetězec JSON lze analyzovat na pandy Dataframe z následujících kroků:
- Následující obecnou strukturu lze použít k načtení řetězce JSON do DataFrame.
importujte pandy jako pd pd.read_json (r'Path, kam jste uložili soubor JSON název souboru.json ')
- Připravte řetězec JSON.
- Vytvořte soubor JSON, který používáme, je nobel_prize.json.
- Vložte soubor JSON do pand DataFrame.
Níže implementovaný kód načte můj soubor JSON do DataFrame.
importovat pandy jako pd importovat json s otevřeným (r'C: UsersHarshit_KantDesktopnobel.prize.json ') jako f: data = json.load (f) print (data) df = pd.DataFrame print (df)
Výstup:
Pohybem vpřed se podívejme, jak můžete serializovat JSON v Pythonu.
Serializace JSON [Encode]:
Serializace JSON jednoduše znamená, že kódujete JSON. Převádí danou datovou strukturu Pythonu (např .: dict) na svůj platný objekt JSON. Ke zpracování toku dat v souboru používá knihovna JSON v Pythonu a výpis () a skládky () metoda, která provádí převod a usnadňuje zápis dat do souborů.
Níže je uvedena tabulka ilustrující Krajta typy dat převádění na příslušný typ JSON.
Krajta | JSON |
dict (slovník) | objekt |
seznam, pole | n-tice |
tětiva | tětiva |
int, long, float | čísla |
Skutečný | skutečný |
Nepravdivé | Nepravdivé jak vytvořit aplikaci v salesforce |
Žádný | nula |
Body k zapamatování:
výpis () - Převede data do souboru JSON
skládky () - Převede data na řetězec JSON
zatížení() - Převede soubor JSON na objekt Pythonu
zatížení () - Převede objekt řetězce JSON na objekt Pythonu
Pěkný tisk:
Pretty Printing se stará o zarovnání kódu a dělá ho v čitelném formátu. Podívejme se na níže uvedený příklad, kde jsem předal dva parametry ‘sort_keys’, které vždy vrací booleovskou True hodnotu a ‚odsazené‘ mezery.
Příklad:
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, odsazení = 3) print (new_string)
Výstup:
Pokračujeme v tutoriálu Python JSON, pojďme pochopit deserializaci JSON.
Deserializace JSON [Decode]:
Deserializace JSON je přesným opakem serializace, tj. Znamená, že dekódujete JSON. Převede daný řetězec JSON na a Krajta objekt využitím zatížení() a zatížení () metoda, která provádí převod.
Níže je uvedena tabulka, která ilustruje převod datového typu JSON na příslušný typ Pythonu.
JSON | Krajta |
objekt | dict (slovník) |
n-tice | seznam, pole |
tětiva | tětiva |
čísla | int, long, float |
skutečný | Skutečný |
Nepravdivé | Nepravdivé |
nula | Žádný |
Pokračujeme v tutoriálu „Python JSON“. Ukážu vám příklad serializace a deserializace v reálném čase prostřednictvím kódovací perspektivy.
Demonstrace kódování:
V této ukázce kódování využívám datový soubor JSON s názvem „Nobelova cena“, který je uveden tady . Naučíte se, jak provádět serializaci a deserializaci stejných souborů prostřednictvím souboru JSON.
Příklad (serializace datové sady JSON):
importujte json s open ('nobel_prize.json.html') jako f: data = json.load (f) s open ('new_nobel_prize.json.html') jako f: json.dump (data, f, odrážka = 2)
Výstup:
je úspěšně zkompilován a je vytvořen nový soubor „new_nobel_prize.json“, kde jsou data vypisována z již existujícího souboru „nobel_prize.json“.
Příklad (deserializace datové sady JSON):
importovat json s otevřeným ('nobel_prize.json.html') jako f: data = json.load (f) pro nobel_prize v datech ['ceny']: tisk (nobel_prize ['rok'], nobel_prize ['kategorie'])
Výstup:
Fragment kódu zobrazuje změny ze souboru JSON do příslušného objektu Pythonu.
Tím se dostáváme na konec našeho článku „Python JSON“. Doufám, že máte jasno ve všech konceptech souvisejících s JSON, analýzou, serializací a deserializací.
Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto článku o Pythonu JSON a my se vám ozveme co nejdříve. Chcete-li získat podrobné znalosti Pythonu a jeho různých aplikací, můžete s naším živým online školením s nepřetržitou podporou a doživotním přístupem.