Python

Ako vyhľadávať údaje v JSON pomocou pythonu

Ako vyhľadávať údaje v JSON pomocou pythonu

Jednou z najbežnejšie používaných metód serializácie údajov je formát JSON. Python má zabudovaný modul JSON na prácu s údajmi JSON. Podporuje všetky typy primitívnych dátových typov, ako sú číslo, reťazec atď., Spolu s objektmi pythonu. Údaje sú uložené v štruktúrovanom formáte v JSON. Niekedy je potrebné vyhľadať konkrétne údaje z veľkého reťazca JSON alebo súboru JSON. Existuje mnoho spôsobov, ako vyhľadať konkrétne údaje z údajov JSON. V tomto článku je uvedené, ako je možné vyhľadávať údaje JSON na základe kľúča alebo hodnoty pomocou skriptu python.

Príklad 1: Vyhľadávací kľúč v jednoduchých dátach JSON

Nasledujúci skript ukazuje, ako vyhľadávať, či konkrétny kľúč existuje v reťazci JSON alebo nie. Tu premenná s názvom customerData je definovaná na ukladanie údajov JSON. Hodnota kľúča sa bude považovať za vstup od používateľa. Načítava () metóda modulu JSON sa používa na načítanie údajov JSON do premennej s názvom zákazník. Ďalšie, „v“ operátor sa používa na vyhľadanie kľúča.

#!/ usr / bin / env python3
# Importovať modul JSON
import json
# Definujte údaje JSON
customerData = "" "
"id": "3425678",
"name": "John Micheal",
"email": "[chránený e-mailom]",
"type": "regular",
"address": "4258 Poplar Chase Lane, Boise, Idaho.„
"" "
# Zadajte hodnotu kľúča, ktorú chcete vyhľadať
keyVal = input ("Zadajte hodnotu kľúča: \ n")
# načítať údaje json
zákazník = json.zaťaženia (customerData)
# Vyhľadajte hodnotu kľúča pomocou operátora „in“
ak keyVal u zákazníka:
# Vytlačte správu o úspechu a hodnotu kľúča
print ("% s sa nachádza v dátach JSON"% keyVal)
print ("Hodnota", keyVal, "je", zákazník [keyVal])
inak:
# Vytlačte správu, ak hodnota neexistuje
tlač ("% s sa nenachádza v dátach JSON"% keyVal)

Výkon:

Skript sa tu vykoná dvakrát. Hodnota existujúceho kľúča sa zadáva prvýkrát a neexistujúca hodnota kľúča sa uvádza druhýkrát.

Príklad 2: Vyhľadajte konkrétnu hodnotu v dátach JSON

Nasledujúci skript ukazuje, ako vyhľadávať konkrétnu hodnotu v dátach JSON. uchádzači premenná obsahuje údaje JSON, kde sa kľúč používa na uloženie mena a hodnoty žiadateľa na uloženie, je alebo nie je k dispozícii. Skript vyhľadá hodnotu 'Absent' v dátach JSON a vytlačí zodpovedajúcu hodnotu názvu. pre slučka sa tu používa na iteráciu údajov JSON.

#!/ usr / bin / env python3
# Importovať modul JSON
import json
# Definujte údaje JSON
uchádzači = "" "
"Scott C Aldridge": "súčasnosť",
„Joe L Foss“: „súčasnosť“,
"Clyde M Gold": "súčasnosť",
"Monique C Doolittle": "neprítomná",
"David M Volkert": "súčasnosť",
"Israel M Oneal": "súčasnosť",
"Elizabeth M Groff": "Absent"
"" "
# Inicializovať počítadlo
pult = 0
# načítať údaje json
appList = json.náklady (žiadatelia)
# iterovať json a vyhľadať zoznam neprítomných uchádzačov
pre kľúč v appList:
if (appList [key] == 'neprítomný'):
# Skontrolujte počítadlo a vytlačte správu
if (counter == 0):
print ("Neprítomní sú títo uchádzači:")
tlač (kľúč)
pult = pult + 1
# Vytlačte správu, ak nie je prítomný žiadny uchádzač
if (counter == 0):
tlač („Všetci uchádzači sú prítomní“)

Výkon:

Podľa údajov JSON zo skriptu chýbajú dvaja uchádzači. Toto bude výsledný výstup po spustení skriptu:

Príklad 3: Vyhľadajte hodnotu v dátach poľa JSON pomocou vlastnej funkcie

V nasledujúcom skripte je pomenované pole JSON jsondata je definovaný. Vyhľadá sa tu konkrétna hodnota kľúča a ak táto hodnota existuje, vytlačí sa ako výstup hodnota iného súvisiaceho kľúča. cena_vyhľadania () funkcia je tu definovaná, má hodnotu názov kľúč, ktorý bude prehľadaný v dátach JSON, a vytlačí hodnotu zodpovedajúceho jednotková cena kľúč.

#!/ usr / bin / env python3
# Importovať modul JSON
import json
# Definujte premennú json
jsondata = "" "[

"name": "pero",
"unit_price": 5
,

"name": "guma",
"unit_price": 3
,

"name": "Ceruzka",
"unit_price": 10
,

"name": "Biela kniha",
"unit_price": 15

] "" "
# načítať údaje json
items = json.zaťaženia (jsondata)
# Zadajte názov položky, ktorú chcete vyhľadať
item = input ("Zadajte názov položky: \ n")
# Definujte funkciu na vyhľadanie položky
def cena_vyhľadania (meno):
pre keyval v položkách:
ak meno.lower () == keyval ['name'].lower ():
return keyval ['unit_price']
# Skontrolujte vrátenú hodnotu a vytlačte správu
if (cena_vyhľadania (položka) != Žiadne):
print ("Cena je:", cena_vyhľadania (položka))
inak:
print ("Položka sa nenašla")

Výkon:

Skript sa v tomto výstupe vykoná dvakrát. „ceruzka sa berie ako hodnota názov kľúč, ktorý existuje v JSON údaje. The jednotková cena z „ceruzka“ je 10 ktorý je vytlačený. Ďalšie, 'kniha' sa berie ako vstupná hodnota, ktorá neexistuje v dátach JSON.

Príklad 4: Vyhľadávací kľúč vo vnorených dátach JSON

Nasledujúci skript zobrazuje kroky na hľadanie hodnoty konkrétneho kľúča vo vnorených dátach JSON. Tu je pomenovaná vnorená premenná JSON nestedData je deklarované na ukladanie vnorených údajov. Tento skript vyhľadá značku dámskych hodiniek.

#!/ usr / bin / env python3
# Importovať modul JSON
import json
# Definujte premennú json vnorených údajov
nestedData = "" "
"watch":
"muži":
"brand": "Titan",
"cena": 200
,
"ženy":
"brand": "Citizen",
"cena": 250
,
"dieťa":
"brand": "Blancpain",
"cena": 100


"" "
# Načítajte údaje json
watchlist = json.zaťaženia (nestedData)
# Hľadajte „značku“ pre ženy
ak je „značka“ v zozname sledovaných [„sledovať“] [„ženy“]:
print (zoznam sledovaných ['sledovať'] ['ženy'] ['značka'])

Výkon:

Vo vyššie uvedenom skripte je pre dámske hodinky iba jedna hodnota značky, ktorá je „Občan„. Nasledujúci text bude výstupom po spustení skriptu.

Príklad-5: Vyhľadajte položku zo súboru JSON pomocou filtračnej metódy a lambda

Nasledujúce kroky ukazujú, ako môžete vyhľadávať položku v súbore JSON na základe konkrétneho kľúča a hodnôt. Obsah kníh.json súbor je uvedený nižšie.

kníh.json

[

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

"isbn": "7799349885",
"name": "Prietok a spaľovanie v piestových motoroch",
"autor": "C. Arcoumanis a T. Kamimoto “
,

"isbn": "7799349885",
"name": "Automobilová ergonómia Interakcia vodič - vozidlo",
"autor": "Nikolaos Gkikas"

]

Nasledujúci skript vyhľadá položku z kníh.json súbor, kde je hodnota Autor kľúč je Nikolaos Gkikas použitím lambda a filter () metóda.

#!/ usr / bin / env python3
# Importovať modul JSON
import json
# Otvorte existujúci súbor JSON na načítanie do premennej
s otvorenými ('knihy.json ') ako jsondata:
data = json.zaťaženie (jsondata)
# Vyhľadávanie údajov na základe kľúča a hodnoty pomocou filtra a metódy zoznamu
tlač (zoznam (filter (lambda x: x ["autor"] == "Nikolaos Gkikas", údaje))))

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Záver:

Keď pracujeme s veľkým množstvom údajov JSON a potrebujete ľahko zistiť konkrétne informácie z údajov, musíme na vykonanie úlohy použiť efektívne spôsoby. V tomto článku sú vysvetlené rôzne spôsoby vyhľadávania kľúča a hodnoty v dátach JSON, ktoré pomáhajú používateľom pythonu úspešne vykonať tento proces.

Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...
Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...