„Python“

Kaip ieškoti duomenų JSON naudojant pitoną

Kaip ieškoti duomenų JSON naudojant pitoną

Viena iš dažniausiai naudojamų duomenų nuoseklinimo būdų yra JSON formatas. „Python“ turi įmontuotą JSON modulį darbui su JSON duomenimis. Jis palaiko visų tipų primityvius duomenų tipus, tokius kaip skaičius, eilutė ir kt., Kartu su python objektais. Duomenys struktūrizuotu formatu saugomi JSON. Kartais reikia ieškoti tam tikrų duomenų iš didelės JSON eilutės ar JSON failo. Yra daug būdų, kaip ieškoti konkrečių duomenų iš JSON duomenų. Kaip JSON duomenų galima ieškoti pagal raktą ar vertę naudojant „Python“ scenarijų, parodyta šiame straipsnyje.

1 pavyzdys: paieškos raktas paprastuose JSON duomenyse

Šis scenarijus parodo, kaip ieškoti, ar tam tikras raktas yra JSON eilutėje, ar ne. Čia kintamasis, pavadintas kliento duomenys yra apibrėžta JSON duomenims saugoti. Rakto vertė bus laikoma vartotojo įvestimi. JSON modulio load () metodas naudojamas JSON duomenims įkelti į kintamąjį, pavadintą klientas. Kitas, „in“ operatorius naudojamas ieškant rakto.

#!/ usr / bin / env python3
# Importuoti „Json“ modulį
importuoti Json
# Apibrėžkite „Json“ duomenis
customerData = "" "
"id": "3425678",
„vardas“: „Jonas Michealas“,
"email": "[email protected]",
„type“: „regular“,
„address“: „4258 Poplar Chase Lane, Boise, Aidahas."
„“
# Įveskite raktinę vertę, kurios norite ieškoti
keyVal = input ("Įveskite rakto vertę: \ n")
# įkelkite „Json“ duomenis
klientas = json.įkelia (kliento duomenys)
# Ieškokite rakto reikšmės naudodami operatorių „in“
jei keyVal kliente:
# Atspausdinkite sėkmės pranešimą ir rakto vertę
spausdinti ("% s randama JSON duomenyse"% keyVal)
spausdinti ("Vertė", keyVal, "yra", klientas [keyVal])
Kitas:
# Spausdinkite pranešimą, jei reikšmės nėra
spausdinti ("% s nerandama JSON duomenyse"% keyVal)

Išvestis:

Scenarijus čia vykdomas du kartus. Esamos pagrindinės vertės pateikiamos pirmą kartą, o antrosios - neegzistuojančios.

2 pavyzdys: ieškokite tam tikros vertės JSON duomenyse

Šis scenarijus parodo, kaip ieškoti tam tikros vertės JSON duomenyse. pareiškėjų kintamajame yra JSON duomenys, kur raktas naudojamas pareiškėjo vardui saugoti, o vertė naudojama pareiškėjui laikyti arba jo nėra. Scenarijus JSON duomenyse ieškos reikšmės „Nėra“ ir išspausdins atitinkamą vardo vertę. dėl ciklas naudojamas iteruoti JSON duomenis.

#!/ usr / bin / env python3
# Importuoti „Json“ modulį
importuoti Json
# Apibrėžkite „Json“ duomenis
pretendentai = "" "
„Scott C Aldridge“: „Dabartinis“,
„Joe L Foss“: „Dabartinis“,
„Clyde M Gold“: „Dabartinis“,
„Monique C Doolittle“: „Nėra“,
„Davidas M Volkertas“: „Dabartinis“,
„Israel M Oneal“: „Dabartinis“,
„Elizabeth M Groff“: „Nėra“
„“
# Inicializuokite skaitiklį
skaitiklis = 0
# įkelkite „Json“ duomenis
appList = json.kroviniai (pareiškėjai)
# pakartokite Json, kad surastumėte nedalyvaujančių pareiškėjų sąrašą
raktui „appList“:
jei („appList“ [raktas] == „Nėra“):
# Patikrinkite skaitiklį ir išspausdinkite pranešimą
jei (skaitiklis == 0):
spausdinti ("Nėra šių pareiškėjų:")
spausdinti (raktas)
skaitiklis = skaitiklis + 1
# Atspausdinkite pranešimą, jei nėra nė vieno pareiškėjo
jei (skaitiklis == 0):
spausdinti („Dalyvauja visi pareiškėjai“)

Išvestis:

Remiantis JSON scenarijaus duomenimis, dviejų pareiškėjų nėra. Tai bus rezultatas paleidus scenarijų:

3 pavyzdys: Paieškos vertė JSON masyvo duomenyse naudojant pasirinktinę funkciją

Šiame scenarijuje pavadintas JSON masyvas jsondata yra apibrėžtas. Čia bus ieškoma tam tikros rakto vertės ir, jei reikšmė egzistuoja, kito susijusio rakto vertė bus išspausdinta kaip išvestis. search_price () funkcija yra apibrėžta čia paimkite reikšmę vardas raktas, kurio bus ieškoma JSON duomenyse, ir jis atspausdins atitinkamo reikšmę vieneto kaina Raktas.

#!/ usr / bin / env python3
# Importuoti „Json“ modulį
importuoti Json
# Apibrėžkite „Json“ kintamąjį
jsondata = "" "[

"vardas": "Rašiklis",
„vieneto kaina“: 5
,

"name": "Trintukas",
„vieneto kaina“: 3
,

„vardas“: „Pieštukas“,
„vieneto kaina“: 10
,

"name": "Baltoji knyga",
„vieneto kaina“: 15

] "" "
# įkelkite „Json“ duomenis
daiktai = json.apkrovos (jsondata)
# Įveskite norimo ieškoti elemento pavadinimą
item = input ("Įveskite elemento pavadinimą: \ n")
# Apibrėžkite funkciją, kaip ieškoti elemento
def search_price (vardas):
for keyval elementuose:
jei vardas.žemesnis () == keyval ['vardas'].apatinis ():
return keyval ['unit_price']
# Patikrinkite grąžinimo vertę ir atspausdinkite pranešimą
jei (paieškos_kaina (prekė) != Nėra):
spausdinti ("Kaina yra:", paieškos_ kaina (prekė))
Kitas:
spausdinti („Elementas nerastas“)

Išvestis:

Scenarijus šiame išvestyje vykdomas du kartus. "pieštukas' yra laikoma vardas raktas, esantis JSON duomenis. The vieneto kaina apie 'pieštukas' yra 10 kad atspausdinta. Kitas, 'knyga' yra laikoma įvesties verte, kurios nėra JSON duomenyse.

4 pavyzdys: paieškos raktas įdėtuose JSON duomenyse

Šiame scenarijuje rodomi veiksmai, kaip ieškoti konkretaus rakto vertės įdėtuose JSON duomenyse. Čia įdėtas įdėtas JSON kintamasis nestedData deklaruojama saugoti įdėtus duomenis. Šiame scenarijuje bus ieškoma moterų laikrodžių prekės ženklų pavadinimų.

#!/ usr / bin / env python3
# Importuoti „Json“ modulį
importuoti Json
# Apibrėžkite įdėtųjų duomenų „Json“ kintamąjį
nestedData = "" "
„žiūrėti“:
„vyrai“:
„prekės ženklas“: „Titanas“,
„kaina“: 200
,
"moterys":
„brand“: „Citizen“,
„kaina“: 250
,
"vaikas":
„brand“: „Blancpain“,
„kaina“: 100


„“
# Įkelkite „Json“ duomenis
stebėtojų sąrašas = json.apkrovos („nestedData“)
# Ieškokite „prekės ženklo“ moterims
jei „prekės ženklas“ yra stebimųjų sąraše [„žiūrėti“] [„moterys“]:
spausdinti (stebėjimo sąrašas ['laikrodis'] ['moterys'] ['prekės ženklas'])

Išvestis:

Ankstesniame scenarijuje moterų laikrodžiams yra tik viena prekės ženklo vertė, kuri yra „Pilietis". Tai bus išvestis paleidus scenarijų.

5 pavyzdys: ieškokite įrašo iš JSON failo naudodami filtravimo metodą ir lambda

Šie veiksmai rodo, kaip galite ieškoti įrašo iš JSON failo pagal tam tikrą raktą ir reikšmes. Turinys knygos.Json failas pateiktas žemiau.

knygos.Json

[

"isbn": "7799349885",
"name": "Transporto priemonės dinamikos pagrindai",
„autorius“: „Joop P. Pauwelussen "
,

"isbn": "7799349885",
"name": "Stūmoklinių variklių srautas ir degimas",
„autorius“: „C. Arcoumanis ir T. Kamimoto "
,

"isbn": "7799349885",
"name": "Automobilių ergonomikos vairuotojo ir transporto priemonės sąveika",
„autorius“: „Nikolaos Gkikas“

]

Šis scenarijus ieškos įrašo iš knygos.Json failą, kur vertė Autorius raktas yra Nikolaos Gkikas naudojant lambda ir filtras() metodas.

#!/ usr / bin / env python3
# Importuoti JSON modulį
importuoti Json
# Atidarykite esamą JSON failą, kad galėtumėte įkelti jį į kintamąjį
su atviromis ('knygos.json ') kaip jsondata:
duomenys = json.apkrova (jsondata)
# Ieškokite duomenų pagal raktą ir vertę naudodami filtro ir sąrašo metodą
spausdinti (sąrašas (filtras (lambda x: x ["author"] == "Nikolaos Gkikas", duomenys)))

Išvestis:

Ši išvestis pasirodys paleidus scenarijų.

Išvada:

Dirbdami su dideliu kiekiu JSON duomenų ir turėdami lengvai sužinoti konkrečią informaciją iš duomenų, turime naudoti efektyvius užduoties atlikimo būdus. Skirtingi JSON duomenų rakto ir vertės paieškos būdai yra paaiškinti šiame straipsnyje, siekiant padėti „Python“ vartotojams sėkmingai atlikti procesą.

Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...
Kaip pakeisti pelės žymeklio ir žymeklio dydį, spalvą ir schemą sistemoje „Windows 10“
„Windows 10“ pelės žymeklis ir žymeklis yra labai svarbūs operacinės sistemos aspektai. Tai galima pasakyti ir apie kitas operacines sistemas, taigi, ...