Piton

Kako pretraživati ​​podatke u JSON-u pomoću pythona

Kako pretraživati ​​podatke u JSON-u pomoću pythona

Jedna od najčešće korištenih tehnika serializacije podataka je JSON format. Python ima ugrađeni modul JSON za rad s JSON podacima. Podržava sve vrste primitivnih vrsta podataka, kao što su broj, niz itd., Zajedno s python objektima. Podaci se pohranjuju u strukturiranom formatu u JSON-u. Ponekad je potrebno pretražiti određene podatke iz velikog JSON niza ili JSON datoteke. Postoji mnogo načina za pretraživanje određenih podataka iz JSON podataka. U ovom je članku prikazano kako se JSON podaci mogu pretraživati ​​na temelju ključa ili vrijednosti pomoću python skripte.

Primjer-1: Ključ za pretraživanje u jednostavnim JSON podacima

Sljedeća skripta pokazuje kako pretraživati ​​postoji li određeni ključ u JSON nizu ili ne. Ovdje je navedena varijabla podaci o kupcu definiran je za pohranu JSON podataka. Vrijednost ključa uzet će se kao ulazni podatak od korisnika. load () metoda JSON modula koristi se za učitavanje JSON podataka u imenovanoj varijabli kupac. Sljedeći, 'u' za pretraživanje ključa koristi se operator.

#!/ usr / bin / env python3
# Uvoz json modula
uvoz json
# Definirajte json podatke
customerData = "" "
"id": "3425678",
"name": "John Micheal",
"email": "[zaštićen e-poštom]",
"type": "redovno",
"adresa": "4258 Topola Chase Lane, Boise, Idaho."
"" "
# Unesite vrijednost ključa koju želite pretražiti
keyVal = input ("Unesite vrijednost ključa: \ n")
# učitavanje json podataka
kupac = json.opterećenja (customerData)
# Pretražite vrijednost ključa pomoću operatora 'in'
ako je keyVal u kupcu:
# Ispišite poruku o uspjehu i vrijednost ključa
ispis ("% s je pronađen u JSON podacima"% keyVal)
print ("Vrijednost", keyVal, "je", kupac [keyVal])
drugo:
# Ispišite poruku ako vrijednost ne postoji
ispis ("% s nije pronađen u JSON podacima"% keyVal)

Izlaz:

Ovdje se skripta izvršava dva puta. Postojeća vrijednost ključa daje se prvi put, a nepostojeća vrijednost ključa daje se drugi put.

Primjer-2: Pretražite određenu vrijednost u JSON podacima

Sljedeća skripta pokazuje kako pretraživati ​​određenu vrijednost u JSON podacima. podnositelji zahtjeva varijabla sadrži JSON podatke gdje se ključ koristi za pohranu imena podnositelja zahtjeva, a vrijednost koristi za spremanje podnositelja zahtjeva koji je prisutan ili odsutan. Skripta će pretražiti vrijednost 'Odsutna' u JSON podacima i ispisati odgovarajuću vrijednost imena. za petlja se ovdje koristi za ponavljanje JSON podataka.

#!/ usr / bin / env python3
# Uvoz json modula
uvoz json
# Definirajte json podatke
podnositelji zahtjeva = "" "
"Scott C Aldridge": "Prisutan",
"Joe L Foss": "Prisutan",
"Clyde M Gold": "Prisutan",
"Monique C Doolittle": "Odsutna",
"David M Volkert": "Prisutan",
"Israel M Oneal": "Sadašnjost",
"Elizabeth M Groff": "Odsutna"
"" "
# Inicijalizirajte brojač
brojač = 0
# učitavanje json podataka
appList = json.opterećenja (podnositelji zahtjeva)
# iterate json da biste pronašli popis odsutnih podnositelja zahtjeva
za ključ u popisu aplikacija:
if (appList [key] == 'Odsutan'):
# Provjerite brojač ispišite poruku
if (brojač == 0):
print ("Sljedeći podnositelji zahtjeva su odsutni:")
ispis (ključ)
brojač = brojač + 1
# Ispišite poruku ako nijedan podnositelj zahtjeva nije odsutan
if (brojač == 0):
ispis ("Prisutni su svi podnositelji zahtjeva")

Izlaz:

Prema JSON-ovim podacima iz skripte, dva podnositelja zahtjeva su odsutna. Ovo će biti rezultat nakon pokretanja skripte:

Primjer-3: Pretraživanje vrijednosti u podacima JSON polja pomoću prilagođene funkcije

U sljedećoj skripti, JSON niz imenovan jsondata je definirano. Ovdje će se pretražiti određena vrijednost ključa, a ako vrijednost postoji, tada će se vrijednost drugog povezanog ključa ispisati kao izlaz. cijena_ pretraživanja () ovdje definirana funkcija uzima vrijednost Ime ključ koji će se tražiti u JSON podacima i ispisat će vrijednost odgovarajućeg jedinična cijena ključ.

#!/ usr / bin / env python3
# Uvoz json modula
uvoz json
# Definirajte json varijablu
jsondata = "" "[

"name": "Olovka",
"jedinica_cjena": 5
,

"name": "Gumica",
"jedinična cijena": 3
,

"name": "Olovka",
"jedinica_cjena": 10
,

"name": "Bijeli papir",
"jedinična cijena": 15

] "" "
# učitavanje json podataka
stavke = json.opterećenja (jsondata)
# Unesite naziv stavke koju želite pretražiti
item = input ("Unesite naziv stavke: \ n")
# Definirajte funkciju za pretraživanje stavke
def search_price (ime):
za keyval u stavkama:
ako ime.donji () == keyval ['ime'].niži():
vrati keyval ['unit_price']
# Provjerite povratnu vrijednost i ispišite poruku
if (cijena_ pretraživanja (stavka) != Nijedno):
print ("Cijena je:", search_price (item))
drugo:
ispis ("Predmet nije pronađen")

Izlaz:

U ovom se izlazu skripta izvršava dva puta. 'olovka' uzima se kao vrijednost Ime ključ koji postoji u JSON podaci. The jedinična cijena od 'olovka' je 10 koji je tiskan. Sljedeći, 'knjiga' uzima se kao ulazna vrijednost koja ne postoji u JSON podacima.

Primjer 4: Ključ za pretraživanje u ugniježđenim JSON podacima

Sljedeća skripta prikazuje korake pretraživanja vrijednosti određenog ključa u ugniježđenim JSON podacima. Ovdje se nalazi ugniježđena JSON varijabla nestedData proglašava se za pohranu ugniježđenih podataka. Ova će skripta pretraživati ​​ime marke ženskog sata.

#!/ usr / bin / env python3
# Uvoz json modula
uvoz json
# Definirajte json varijablu ugniježđenih podataka
nestedData = "" "
"Gledati":
"muškarci":
"brand": "Titan",
"cijena": 200
,
"žene":
"brand": "Citizen",
"cijena": 250
,
"dijete":
"brand": "Blancpain",
"cijena": 100


"" "
# Učitajte json podatke
popis za nadzor = json.učitavanja (nestedData)
# Pretražujte "brand" za žene
ako je 'brand' na popisu za praćenje ['watch'] ['women']:
ispis (popis za nadzor ['sat'] ['žene'] ['brend'])

Izlaz:

U gornjoj skripti postoji samo jedna vrijednost marke za ženski sat koja je 'Građanin'. Sljedeće će biti izlaz nakon pokretanja skripte.

Primjer 5: Pretražite unos iz JSON datoteke metodom filtra i lambda

Sljedeći koraci pokazuju kako možete pretraživati ​​unos iz JSON datoteke na temelju određenog ključa i vrijednosti. Sadržaj knjige.json datoteka je dana u nastavku.

knjige.json

[

"isbn": "7799349885",
"name": "Osnove dinamike vozila",
"autor": "Joop P. Pauwelussen "
,

"isbn": "7799349885",
"name": "Protok i izgaranje u klipnim motorima",
"autor": "C. Arcoumanis i T. Kamimoto "
,

"isbn": "7799349885",
"name": "Interakcija automobilskih ergonomija vozača i vozila",
"autor": "Nikolaos Gkikas"

]

Sljedeća skripta pretražit će unos iz knjige.json datoteka, gdje je vrijednost Autor ključ je Nikolaos Gkikas koristeći lambda i filtar() metoda.

#!/ usr / bin / env python3
# Uvoz JSON modula
uvoz json
# Otvorite postojeću JSON datoteku za učitavanje u varijablu
s otvorenim ('knjigama.json ') kao jsondata:
podaci = json.učitavanje (jsondata)
# Pretražujte podatke na temelju ključa i vrijednosti pomoću metode filtra i popisa
ispis (popis (filtar (lambda x: x ["autor"] == "Nikolaos Gkikas", podaci)))

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte.

Zaključak:

Kada radimo s velikom količinom JSON podataka i moramo s lakoćom saznati određene podatke iz podataka, moramo koristiti učinkovite načine za izvršavanje zadatka. U ovom su članku objašnjeni različiti načini pretraživanja ključa i vrijednosti u JSON podacima koji pomažu korisnicima pythona da uspješno izvedu postupak.

Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...