Python

Kā meklēt datus JSON, izmantojot pitonu

Kā meklēt datus JSON, izmantojot pitonu

Viena no visbiežāk izmantotajām datu sērijas metodēm ir JSON formāts. Python ir iebūvēts JSON modulis darbam ar JSON datiem. Tas atbalsta visu veidu primitīvos datu tipus, piemēram, numuru, virkni utt., Kopā ar pitona objektiem. Dati strukturētā formātā tiek glabāti JSON. Dažreiz ir nepieciešams meklēt konkrētus datus no lielas JSON virknes vai JSON faila. Ir daudz veidu, kā meklēt konkrētus datus no JSON datiem. Kā JSON datos var meklēt, pamatojoties uz atslēgu vai vērtību, izmantojot pitona skriptu, ir parādīts šajā rakstā.

1. piemērs: meklēšanas taustiņš vienkāršos JSON datos

Šis skripts parāda, kā meklēt, vai konkrēta atslēga pastāv JSON virknē. Šeit mainīgais nosaukts klienta dati ir definēts JSON datu glabāšanai. Atslēgas vērtība tiks uzskatīta par lietotāja ievadītu. JSON moduļa metode loading () tiek izmantota, lai ielādētu JSON datus mainīgajā mainīgajā klientu. Nākamais, 'iekšā' operators tiek izmantots, lai meklētu atslēgu.

#!/ usr / bin / env python3
# Importēt Json moduli
importa json
# Definējiet Json datus
customerData = "" "
"id": "3425678",
"name": "John Micheal",
"email": "[e-pasts aizsargāts]",
"type": "regular",
"adrese": "4258 Poplar Chase Lane, Boise, Aidaho."
""
# Ievadiet atslēgas vērtību, kuru vēlaties meklēt
keyVal = input ("Ievadiet atslēgas vērtību: \ n")
# ielādējiet Json datus
klients = json.ielādes (customerData)
# Meklējiet atslēgas vērtību, izmantojot operatoru “in”
ja klientā keyVal:
# Izdrukājiet veiksmes ziņojumu un atslēgas vērtību
drukāt ("% s ir atrodams JSON datos"% keyVal)
drukāt ("Vērtība", keyVal, "ir", klients [keyVal])
cits:
# Ja vērtība nepastāv, izdrukājiet ziņojumu
drukāt ("% s nav atrodams JSON datos"% keyVal)

Izeja:

Skripts šeit tiek izpildīts divas reizes. Esošā atslēgas vērtība tiek dota pirmo reizi, un neeksistējošā galvenā vērtība tiek piešķirta otro reizi.

2. piemērs: meklējiet noteiktu vērtību JSON datos

Šis skripts parāda, kā meklēt noteiktu vērtību JSON datos. pretendentiem mainīgais satur JSON datus, kur atslēga tiek izmantota pieteikuma iesniedzēja vārda glabāšanai, un vērtība tiek izmantota, lai saglabātu pieteikuma iesniedzēju. Skripts JSON datos meklēs vērtību “Nav” un izdrukās atbilstošo nosaukuma vērtību. priekš cilpa šeit tiek izmantota, atkārtojot JSON datus.

#!/ usr / bin / env python3
# Importēt Json moduli
importa json
# Definējiet Json datus
pretendenti = "" "
"Scott C Aldridge": "klāt",
"Džo L Foss": "Klāt",
"Clyde M Gold": "klāt",
"Monique C Doolittle": "Nav",
"Deivids M Volkerts": "Klāt",
"Israel M Oneal": "Klāt",
"Elizabete M Grofa": "Nav"
""
# Inicializējiet skaitītāju
skaitītājs = 0
# ielādējiet Json datus
appList = json.kravas (pretendenti)
# atkārtojiet jsonu, lai atrastu prombūtnē neesošu pretendentu sarakstu
atslēgai appList:
ja (appList [key] == 'Nav'):
# Pārbaudiet skaitītāju, lai izdrukātu ziņojumu
ja (skaitītājs == 0):
drukāt ("Nav šādu pretendentu:")
drukāt (atslēga)
skaitītājs = skaitītājs + 1
# Izdrukājiet ziņojumu, ja nav neviena pretendenta
ja (skaitītājs == 0):
drukāt ("Visi pretendenti ir klāt")

Izeja:

Saskaņā ar skripta JSON datiem divi pretendenti nav klāt. Pēc skripta palaišanas tas būs rezultāts:

3. piemērs: meklēšanas vērtība JSON masīva datos, izmantojot pielāgoto funkciju

Šajā skriptā nosaukts JSON masīvs jsondata ir definēts. Šeit tiks meklēta noteikta atslēgas vērtība, un, ja vērtība pastāv, citas saistītās atslēgas vērtība tiks izdrukāta kā izeja. search_price () funkcija ir definēta šeit, ņem vērtību nosaukums atslēga, kas tiks meklēta JSON datos, un tā izdrukās atbilstošās vērtības vienības cena taustiņu.

#!/ usr / bin / env python3
# Importēt Json moduli
importa json
# Definējiet json mainīgo
jsondata = "" "[

"name": "Pen",
"vienības_cena": 5
,

"name": "Dzēšgumija",
"vienības_cena": 3
,

"name": "Zīmulis",
"vienības_cena": 10
,

"name": "Baltā grāmata",
"vienības_cena": 15

] "" "
# ielādējiet Json datus
preces = json.slodzes (jsondata)
# Ievadiet vienuma nosaukumu, kuru vēlaties meklēt
item = input ("Ievadiet vienuma nosaukumu: \ n")
# Definējiet funkciju, lai meklētu vienumu
def search_price (nosaukums):
keyval vienumos:
ja vārds.zemāks () == keyval ['nosaukums'].zemāks ():
return keyval ['vienības_cena']
# Pārbaudiet atgriešanas vērtību un izdrukājiet ziņojumu
ja (meklēšanas_cena (vienums) != Nav):
drukāt ("Cena ir:", meklēšanas_cena (vienums))
cits:
drukāt ("Vienums nav atrasts")

Izeja:

Šajā izvadē skripts tiek izpildīts divas reizes. "zīmulis' tiek uzskatīts par nosaukums atslēga, kas pastāv JSON dati. The vienības cena gada 'zīmulis' ir 10 tas ir iespiests. Nākamais, "grāmata" tiek uzskatīta par ievades vērtību, kuras nav JSON datos.

4. piemērs: meklēšanas taustiņš ligzdotajos JSON datos

Šis skripts parāda darbības, kā meklēt konkrētas atslēgas vērtību ligzdotajos JSON datos. Šeit ir ievietots ligzdots JSON mainīgais nestedData ir deklarēta ligzdotu datu glabāšanai. Šis skripts meklēs sieviešu pulksteņu zīmolu.

#!/ usr / bin / env python3
# Importēt Json moduli
importa json
# Definējiet ligzdoto datu json mainīgo
nestedData = "" "
"skatīties":
"vīrieši":
"brand": "Titan",
"cena": 200
,
"sievietes":
"brand": "Citizen",
"cena": 250
,
"bērns":
"brand": "Blancpain",
"cena": 100


""
# Ielādējiet Json datus
watchlist = json.slodzes (nestedData)
# Meklēt “zīmolu” sievietēm
ja “zīmols” ir novērošanas sarakstā [“pulkstenis”] [“sievietes”]:
drukāt (skatāmo sarakstu ['pulkstenis'] ['sievietes'] ['zīmols'])

Izeja:

Iepriekš minētajā rakstā sieviešu pulksteņiem ir tikai viena zīmola vērtība, kas irPilsonis". Pēc skripta palaišanas būs izvade.

5. piemērs: meklējiet ierakstu no JSON faila, izmantojot filtrēšanas metodi un lambda

Šīs darbības parāda, kā jūs varat meklēt ierakstu no JSON faila, pamatojoties uz noteiktu atslēgu un vērtībām. Programmas saturs grāmatas.json fails ir norādīts zemāk.

grāmatas.json

[

"isbn": "7799349885",
"name": "Transportlīdzekļa dinamikas pamati",
"autors": "Joop P. Pauwelussen "
,

"isbn": "7799349885",
"name": "Plūsma un sadedzināšana virzuļdzinējos",
"autors": "C. Arcoumanis un T. Kamimoto "
,

"isbn": "7799349885",
"name": "Automobiļu ergonomikas vadītāja un transportlīdzekļa mijiedarbība",
"autors": "Nikolaos Gkikas"

]

Šis skripts meklēs ierakstu no grāmatas.json failu, kur vērtība Autors atslēga ir Nikolaos Gkikas izmantojot lambda un filtrs () metodi.

#!/ usr / bin / env python3
# Importējiet JSON moduli
importa json
# Atveriet esošo JSON failu, lai to ielādētu mainīgajā
ar atvērtu ('grāmatas.json ') kā jsondata:
dati = json.slodze (jsondata)
# Meklēt datus, pamatojoties uz atslēgu un vērtību, izmantojot filtra un saraksta metodi
drukāt (saraksts (filtrs (lambda x: x ["autors"] == "Nikolaos Gkikas", dati)))

Izeja:

Pēc skripta palaišanas parādīsies šāda izeja.

Secinājums:

Strādājot ar lielu daudzumu JSON datu un bez grūtībām jānoskaidro konkrētā informācija no datiem, mums jāizmanto efektīvi veidi, kā veikt uzdevumu. Šajā rakstā ir paskaidroti dažādi veidi, kā meklēt atslēgu un vērtību JSON datos, lai palīdzētu pitona lietotājiem veiksmīgi veikt procesu.

Kā nomainīt peles kreiso un labo pogu operētājsistēmā Windows 10
Tas ir diezgan normāli, ka visas datora peles ierīces ir ergonomiski izstrādātas lietotājiem ar labo roku. Bet ir pieejamas peles ierīces, kas ir īpaš...
Atdariniet peles klikšķus, virzot kursoru, izmantojot operētājsistēmā Windows 10 bezklikšķu peli
Peles vai tastatūras lietošana nepareizā pozā, ja to lieto pārmērīgi daudz, var izraisīt daudz veselības problēmu, tostarp spriedzi, karpālā kanāla si...
Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...