Pitone

Come cercare dati in JSON usando python

Come cercare dati in JSON usando python

Una delle tecniche di serializzazione dei dati più utilizzate è il formato JSON. Python ha un modulo JSON integrato per lavorare con i dati JSON. Supporta tutti i tipi di tipi di dati primitivi come numero, stringa, ecc., Insieme agli oggetti Python. I dati sono archiviati in un formato strutturato in JSON. A volte è necessario cercare dati particolari da una stringa JSON di grandi dimensioni o da un file JSON. Esistono molti modi per cercare dati specifici dai dati JSON. In questo articolo viene mostrato come è possibile cercare i dati JSON in base alla chiave o al valore utilizzando lo script python.

Esempio 1: chiave di ricerca in semplici dati JSON

Il seguente script mostra come cercare se una chiave particolare esiste o meno in una stringa JSON. Qui, una variabile denominata dati dei clienti è definito per memorizzare i dati JSON. Il valore della chiave sarà preso come input dall'utente. Il metodo load() del modulo JSON viene utilizzato per caricare i dati JSON nella variabile denominata cliente. Il prossimo, 'nel' l'operatore viene utilizzato per cercare la chiave.

#!/usr/bin/env python3
# Importa modulo json
import json
# Definisci i dati json
CustomerData ="""
"id": "3425678",
"nome": "Giovanni Michele",
"email": "[email protetta]",
"tipo": "normale",
"indirizzo": "4258 Poplar Chase Lane, Boise, Idaho."
"""
# Inserisci il valore della chiave che vuoi cercare
keyVal = input("Inserisci un valore chiave: \n")
# carica i dati json
cliente = json.carichi (Dati Cliente)
# Cerca il valore della chiave utilizzando l'operatore 'in'
se keyVal nel cliente:
# Stampa il messaggio di successo e il valore della chiave
print("%s si trova nei dati JSON" %keyVal)
print("Il valore di", keyVal,"is", customer[keyVal])
altro:
# Stampa il messaggio se il valore non esiste
print("%s non è stato trovato nei dati JSON" %keyVal)

Produzione:

Lo script viene eseguito due volte qui. Viene fornito per la prima volta un valore di chiave esistente e per la seconda volta viene fornito un valore di chiave inesistente.

Esempio-2: cercare un valore particolare nei dati JSONSON

Il seguente script mostra come cercare un particolare valore nei dati JSON. candidati la variabile contiene i dati JSON in cui la chiave viene utilizzata per memorizzare il nome del richiedente e il valore viene utilizzato per memorizzare il richiedente è presente o assente. Lo script cercherà il valore "Assente" nei dati JSON e stamperà il valore del nome corrispondente. per loop viene utilizzato qui per iterare i dati JSON.

#!/usr/bin/env python3
# Importa modulo json
import json
# Definisci i dati json
candidati ="""
"Scott C Aldridge": "Presente",
"Joe L Foss": "Presente",
"Clyde M Gold": "Presente",
"Monique C Doolittle": "Assente",
"David M Volkert": "Presente",
"Israele M Oneal": "Presente",
"Elizabeth M Groff": "Assente"
"""
# Inizializza un contatore
contatore = 0
# carica i dati json
appList = json.carichi (richiedenti)
# iterare json per trovare l'elenco dei candidati assenti
per la chiave in appList:
if (appList[key] == 'Assente'):
# Controlla il contatore per stampare il messaggio
if (contatore == 0):
print("Sono assenti i seguenti richiedenti:")
stampa (chiave)
contatore = contatore + 1
# Stampa il messaggio se nessun richiedente è assente
if (contatore == 0):
print("Tutti i candidati sono presenti")

Produzione:

Secondo i dati JSON della sceneggiatura, due candidati sono assenti. Questo sarà l'output risultante dopo aver eseguito lo script:

Esempio 3: ricerca il valore nei dati dell'array JSON utilizzando la funzione personalizzata

Nello script seguente, un array JSON denominato jsondata è definito. Un particolare valore di una chiave verràcercato qui e se il valore esiste verràstampato come output il valore di un'altra chiave correlata. prezzo_ricerca() la funzione è definita qui prendi il valore di nome chiave che verrà cercata nei dati JSON e stamperà il valore del corrispondente prezzo unitario chiave.

#!/usr/bin/env python3
# Importa modulo json
import json
# Definisci la variabile json
jsondata = """[

"nome": "Penna",
"prezzo_unità": 5
,

"nome": "Gomma da cancellare",
"prezzo_unità": 3
,

"nome": "Matita",
"prezzo_unità": 10
,

"nome": "Libro bianco",
"prezzo_unità":15

]"""
# carica i dati json
item = json.carichi (jsondata)
# Inserisci il nome dell'elemento che vuoi cercare
item = input("Inserisci il nome di un elemento:\n")
# Definisci una funzione per cercare l'elemento
def search_price (nome):
per keyval negli elementi:
se nome.lower() == keyval['nome'].inferiore():
ritorna keyval['unit_price']
# Controlla il valore restituito e stampa il messaggio
if (search_price(item) != Nessuno):
print("Il prezzo è:", search_price(item))
altro:
print("Articolo non trovato")

Produzione:

Lo script viene eseguito due volte in questo output. 'matita' è preso come il valore di nome chiave che esiste in JSON dati. Il prezzo unitario di 'matita' è 10 che è stampato. Il prossimo, 'libro' viene preso come un valore di input che non esiste nei dati JSON.

Esempio-4: chiave di ricerca nei dati JSON nidificati

Lo script seguente mostra i passaggi per la ricerca del valore di una chiave particolare nei dati JSON nidificati. Qui, una variabile JSON nidificata denominata nestedData è dichiarato per memorizzare dati nidificati. Questo script cercherà il marchio dell'orologio da donna.

#!/usr/bin/env python3
# Importa modulo json
import json
# Definisci la variabile json dei dati nidificati
nestedData = """
"orologio":
"uomini":
"marca": "Titano",
"prezzo": 200
,
"donne":
"marca": "Cittadino",
"prezzo": 250
,
"ragazzo":
"marca": "Blancpain",
"prezzo": 100


"""
# Carica i dati json
lista di controllo = json.carichi (nestedData)
# Cerca "marca" per le donne
if 'brand' in watchlist['watch']['women']:
print(watchlist['watch']['women']['brand'])

Produzione:

Nello script sopra, c'è solo un valore del marchio per l'orologio da donna che è "Cittadino'. Il seguente sarà l'output dopo aver eseguito lo script.

Esempio-5: ricerca voce da un file JSON utilizzando il metodo filter e lambda

I seguenti passaggi mostrano come cercare la voce da un file JSON in base a una chiave e a valori particolari. Il contenuto di libri.json il file è riportato di seguito.

libri.json

[

"isbn": "7799349885",
"name": "Essenziale della dinamica del veicolo",
"autore": "Joop P. Pauwelussen"
,

"isbn": "7799349885",
"name": "Flusso e combustione nei motori alternativi",
"autore": "C. Arcoumanis e T. Kamimoto"
,

"isbn": "7799349885",
"name": "Interazione conducente veicolo ergonomia automobilistica",
"autore": "Nikolaos Gkikas"

]

Il seguente script cercherà la voce da libri.json file, dove il valore di l'autore la chiave è Nikolaos Gkikas usando lambda e filtro() metodo.

#!/usr/bin/env python3
# Importa modulo JSON
import json
# Apri il file JSON esistente per il caricamento in una variabile
con open('libri.json') come jsondata:
data = json.caricamento (jsondata)
# Cerca i dati in base a chiave e valore utilizzando il metodo di filtro e elenco list
print(list(filter(lambda x:x["autore"]=="Nikolaos Gkikas",data)))

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Conclusione:

Quando si lavora con una grande quantità di dati JSON e si ha bisogno di trovare facilmente le informazioni specifiche dai dati, è necessario utilizzare modi efficienti per svolgere l'attività. Diversi modi di cercare chiave e valore nei dati JSON sono spiegati in questo articolo per aiutare gli utenti Python a eseguire correttamente il processo.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...