Krajta

Jak vyhledávat data v JSON pomocí pythonu

Jak vyhledávat data v JSON pomocí pythonu

Jednou z nejpoužívanějších technik serializace dat je formát JSON. Python má vestavěný modul JSON pro práci s daty JSON. Podporuje všechny typy primitivních datových typů, jako je číslo, řetězec atd., Spolu s objekty pythonu. Data jsou uložena ve strukturovaném formátu v JSON. Někdy je nutné prohledat konkrétní data z velkého řetězce JSON nebo souboru JSON. Existuje mnoho způsobů, jak vyhledat konkrétní data z dat JSON. Jak je možné prohledávat data JSON na základě klíče nebo hodnoty pomocí skriptu python, je uveden v tomto článku.

Příklad 1: Vyhledávací klíč v jednoduchých datech JSON

Následující skript ukazuje, jak hledat, pokud konkrétní klíč existuje v řetězci JSON nebo ne. Zde proměnná s názvem data zákazníka je definováno pro ukládání dat JSON. Hodnota klíče bude brána jako vstup od uživatele. Načte () metoda modulu JSON se používá k načtení dat JSON do proměnné s názvem zákazník. další, 'v' operátor se používá k vyhledání klíče.

#!/ usr / bin / env python3
# Importujte modul JSON
importovat JSON
# Definujte data JSON
customerData = "" "
"id": "3425678",
"name": "John Micheal",
"email": "[e-mail chráněn]",
"type": "normal",
"address": "4258 Poplar Chase Lane, Boise, Idaho."
"" "
# Zadejte hodnotu klíče, kterou chcete prohledat
keyVal = input ("Zadejte hodnotu klíče: \ n")
# načíst data JSON
zákazník = json.zatížení (customerData)
# Hledejte hodnotu klíče pomocí operátoru 'in'
pokud keyVal u zákazníka:
# Vytiskněte zprávu o úspěchu a hodnotu klíče
tisk ("% s se nachází v datech JSON"% keyVal)
print ("Hodnota", keyVal, "is", zákazník [keyVal])
jiný:
# Vytiskněte zprávu, pokud hodnota neexistuje
print ("% s nebyl nalezen v datech JSON"% keyVal)

Výstup:

Skript se zde provede dvakrát. Hodnota existujícího klíče je uvedena poprvé a hodnota neexistujícího klíče je uvedena podruhé.

Příklad 2: Vyhledejte konkrétní hodnotu v datech JSON

Následující skript ukazuje, jak vyhledat konkrétní hodnotu v datech JSON. žadatelé proměnná obsahuje data JSON, kde se klíč používá k uložení jména žadatele a hodnota se používá k uložení žadatele je přítomen nebo chybí. Skript prohledá hodnotu „Chybí“ v datech JSON a vytiskne odpovídající hodnotu názvu. pro Zde se používá smyčka pro iteraci dat JSON.

#!/ usr / bin / env python3
# Importujte modul JSON
importovat JSON
# Definujte data JSON
žadatelé = "" "
"Scott C Aldridge": "Současnost",
"Joe L Foss": "Současnost",
"Clyde M Gold": "Současnost",
"Monique C Doolittle": "Nepřítomen",
"David M Volkert": "Současnost",
"Israel M Oneal": "Současnost",
"Elizabeth M Groff": "Nepřítomen"
"" "
# Inicializovat počítadlo
counter = 0
# načíst data JSON
appList = json.zatížení (žadatelé)
# iterujte json a vyhledejte seznam chybějícího žadatele
pro klíč v appList:
if (appList [key] == 'Nepřítomen'):
# Zkontrolujte počítadlo a vytiskněte zprávu
if (counter == 0):
print ("Následující žadatelé chybí:")
tisk (klíč)
counter = counter + 1
# Vytiskněte zprávu, pokud chybí žádný žadatel
if (counter == 0):
tisk („Jsou přítomni všichni žadatelé“)

Výstup:

Podle údajů JSON ze skriptu chybí dva uchazeči. Toto bude výsledný výstup po spuštění skriptu:

Příklad 3: Hledání hodnoty v datech pole JSON pomocí vlastní funkce

V následujícím skriptu pojmenované pole JSON jsondata je definováno. Zde se prohledá konkrétní hodnota klíče a pokud tato hodnota existuje, bude jako výstup vytištěna hodnota dalšího souvisejícího klíče. cena_vyhledávání () funkce je zde definována, vezměte hodnotu název klíč, který bude prohledán v datech JSON a vytiskne hodnotu odpovídajícího jednotková cena klíč.

#!/ usr / bin / env python3
# Importujte modul JSON
importovat JSON
# Definujte proměnnou JSON
jsondata = "" "[

"name": "Pen",
"unit_price": 5
,

"name": "Guma",
"unit_price": 3
,

"name": "Tužka",
"unit_price": 10
,

"name": "Bílá kniha",
"unit_price": 15

] "" "
# načíst data JSON
items = json.zatížení (jsondata)
# Zadejte název položky, kterou chcete vyhledat
item = input ("Zadejte název položky: \ n")
# Definujte funkci pro vyhledání položky
def cena_vyhledávání (název):
pro keyval v položkách:
pokud jméno.lower () == keyval ['name'].dolní():
návrat keyval ['unit_price']
# Zkontrolujte návratovou hodnotu a vytiskněte zprávu
if (cena_vyhledávání (položka) != Žádný):
tisk ("Cena je:", cena_vyhledávání (položka))
jiný:
tisk ("Položka nebyla nalezena")

Výstup:

Skript se v tomto výstupu provede dvakrát. ''tužka' se bere jako hodnota název klíč, který existuje v JSON data. The jednotková cena z 'tužka' je 10 který je vytištěn. další, 'rezervovat' je bráno jako vstupní hodnota, která neexistuje v datech JSON.

Příklad 4: Vyhledávací klíč ve vnořených datech JSON

Následující skript ukazuje kroky při hledání hodnoty konkrétního klíče ve vnořených datech JSON. Zde je pojmenovaná vnořená proměnná JSON nestedData je deklarováno k ukládání vnořených dat. Tento skript prohledá značku dámských hodinek.

#!/ usr / bin / env python3
# Importujte modul JSON
importovat JSON
# Definujte proměnnou JSON vnořených dat
nestedData = "" "
"hodinky":
"muži":
"brand": "Titan",
"cena": 200
,
"ženy":
"brand": "Citizen",
"cena": 250
,
"dítě":
"brand": "Blancpain",
"cena": 100


"" "
# Načtěte data JSON
watchlist = json.zatížení (nestedData)
# Hledejte „značku“ pro ženy
pokud „značka“ v seznamu sledovaných [„sledovat“] [„ženy“]:
tisk (seznam sledovaných ['sledovat'] ['ženy'] ['značka'])

Výstup:

Ve výše uvedeném skriptu existuje pouze jedna hodnota značky pro dámské hodinky, která jeObčan''. Následující bude výstup po spuštění skriptu.

Příklad 5: Vyhledat položku ze souboru JSON pomocí metody filtru a lambda

Následující kroky ukazují, jak můžete vyhledat položku ze souboru JSON na základě konkrétního klíče a hodnot. Obsah knihy.JSON soubor je uveden níže.

knihy.JSON

[

"isbn": "7799349885",
"name": "Základy dynamiky vozidla",
"author": "Joop P. Pauwelussen "
,

"isbn": "7799349885",
"name": "Tok a spalování v pístových motorech",
"author": "C. Arcoumanis a T. Kamimoto "
,

"isbn": "7799349885",
"name": "Automotive Ergonomics Interaction Driver Vehicle",
"author": "Nikolaos Gkikas"

]

Následující skript prohledá položku z knihy.JSON soubor, kde je hodnota autor klíč je Nikolaos Gkikas použitím lambda a filtr() metoda.

#!/ usr / bin / env python3
# Importujte modul JSON
importovat JSON
# Otevřete existující soubor JSON pro načtení do proměnné
s otevřenými ('knihy.json ') jako jsondata:
data = json.zatížení (jsondata)
# Hledání dat na základě klíče a hodnoty pomocí metody filtru a seznamu
tisk (seznam (filtr (lambda x: x ["autor") == "Nikolaos Gkikas", data)))

Výstup:

Po spuštění skriptu se zobrazí následující výstup.

Závěr:

Když pracujeme s velkým množstvím dat JSON a potřebujete snadno zjistit konkrétní informace z dat, musíme k provedení úkolu použít efektivní způsoby. V tomto článku jsou vysvětleny různé způsoby hledání klíče a hodnoty v datech JSON, které pomáhají uživatelům pythonu úspěšně provést proces.

Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...