Comment rechercher des données dans JSON à l'aide de Python

Comment rechercher des données dans JSON à l'aide de Python

L'une des techniques de sérialisation des données les plus utilisées est le format JSON. Python a un module In-construit JSON pour travailler avec les données JSON. Il prend en charge tous les types de types de données primitifs tels que le nombre, la chaîne, etc., ainsi que les objets Python. Les données sont stockées dans un format structuré dans JSON. Parfois, il est nécessaire de rechercher des données particulières à partir d'une grande chaîne JSON ou d'un fichier JSON. Il existe de nombreuses façons de rechercher des données spécifiques à partir de données JSON. Comment les données JSON peuvent être recherchées en fonction de la clé ou de la valeur à l'aide du script Python est affichée dans cet article.

Exemple-1: clé de recherche dans les données JSON simples

Le script suivant montre comment rechercher si une clé particulière existe dans une chaîne JSON ou non. Ici, une variable nommée données client est défini pour stocker les données JSON. La valeur de la clé sera prise comme entrée de l'utilisateur. La méthode charge () du module JSON est utilisée pour charger les données JSON dans la variable nommée client. Suivant, 'dans' L'opérateur est utilisé pour rechercher la clé.

#!/ usr / bin / env python3
# Importer le module JSON
Importer JSON
# Définir les données JSON
CustomerData = "" "
"id": "3425678",
"Nom": "John Micheal",
"Courriel": "John @ gmail.com ",
"Type": "régulier",
"Adresse": "4258 Poplar Chase Lane, Boise, Idaho."
"" "
# Entrez la valeur clé que vous souhaitez rechercher
keyVal = input ("Entrez une valeur de clé: \ n")
# Chargez les données JSON
Client = JSON.charges (CustomerData)
# Recherchez la valeur clé en utilisant «dans» l'opérateur
Si keyval dans le client:
# Imprimez le message de réussite et la valeur de la clé
print ("% s se trouve dans les données JSON"% keyval)
print ("La valeur de", keyval, "est", client [keyval])
autre:
# Imprimez le message si la valeur n'existe pas
Print ("% s n'est pas trouvé dans les données JSON"% keyval)

Sortir:

Le script est exécuté deux fois ici. Une valeur de clé existante est donnée pour la première fois et une valeur de clé inexistante est donnée pour la deuxième fois.

Exemple-2: Recherchez une valeur particulière dans les données JSON

Le script suivant montre comment rechercher une valeur particulière dans les données JSON. candidats La variable contient les données JSON où la clé est utilisée pour stocker le nom du demandeur et la valeur est utilisée pour stocker le demandeur est présent ou absent. Le script recherchera la valeur «absente» dans les données JSON et imprimera la valeur du nom correspondant. pour la boucle est utilisée ici itération des données JSON.

#!/ usr / bin / env python3
# Importer le module JSON
Importer JSON
# Définir les données JSON
candidats = "" "
"Scott C Aldridge": "présent",
"Joe L Foss": "présent",
"Clyde m Gold": "présent",
"Monique C Doolittle": "absent",
"David M Volkert": "présent",
"Israël M Oneal": "présent",
"Elizabeth M Groff": "absent"
"" "
# Initialiser un comptoir
compteur = 0
# Chargez les données JSON
applist = json.charges (candidats)
# itérer json pour trouver la liste du demandeur absent
pour la clé dans Applist:
if (applist [key] == 'absent'):
# Vérifiez le comptoir l'imprimé le message
if (compteur == 0):
Imprimer ("Les candidats suivants sont absents:")
Imprimer (clé)
compteur = compteur + 1
# Imprimez le message si aucun demandeur n'est absent
if (compteur == 0):
imprimer ("tous les candidats sont présents")

Sortir:

Selon les données JSON du script, deux candidats sont absents. Ce sera la sortie résultante après l'exécution du script:

Exemple-3: Valeur de recherche dans les données du tableau JSON à l'aide de la fonction personnalisée

Dans le script suivant, un tableau JSON nommé jsondata est défini. Une valeur particulière d'une clé sera recherchée ici et si la valeur existe, la valeur d'une autre clé connexe sera imprimée en sortie. search_price () La fonction est définie ici, prenez la valeur du nom clé qui sera recherchée dans les données JSON et il imprimera la valeur du correspondant prix unitaire clé.

#!/ usr / bin / env python3
# Importer le module JSON
Importer JSON
# Définir la variable JSON
jsondata = "" "[

"nom": "stylo",
"Unit_price": 5
,

"Nom": "Eraser",
"Unit_price": 3
,

"nom": "crayon",
"Unit_price": 10
,

"Nom": "Livre blanc",
"Unit_price": 15

] "" "
# Chargez les données JSON
articles = JSON.charges (jsondata)
# Entrez le nom de l'élément que vous souhaitez rechercher
item = input ("Entrez un nom d'élément: \ n")
# Définir une fonction pour rechercher l'élément
def search_price (nom):
Pour KeyVal dans les éléments:
Si le nom.inférieur () == keyVal ['name'].inférieur():
return keyval ['unit_price']
# Vérifiez la valeur de retour et imprimez le message
if (search_price (item) != Aucun):
print ("Le prix est:", search_price (article))
autre:
imprimer ("L'article n'est pas trouvé")

Sortir:

Le script est exécuté deux fois dans cette sortie. 'crayon' est considéré comme la valeur du nom clé qui existe dans le Json données. Le prix unitaire de 'crayon' est dix qui est imprimé. Suivant, 'livre' est considéré comme une valeur d'entrée qui n'existe pas dans les données JSON.

Exemple-4: clé de recherche dans les données JSON imbriquées

Le script suivant affiche des étapes sur la recherche de la valeur d'une clé particulière dans les données JSON imbriquées. Ici, une variable JSON imbriquée nommée niché est déclaré stocker des données imbriquées. Ce script recherchera le nom de marque des femmes Watch.

#!/ usr / bin / env python3
# Importer le module JSON
Importer JSON
# Définir la variable JSON des données imbriquées
nesteddata = "" "
"montre":
"Hommes":
"Brand": "Titan",
"Prix": 200
,
"femmes":
"marque": "citoyen",
"Prix": 250
,
"enfant":
"Brand": "Blancpain",
"Prix": 100


"" "
# Chargez les données JSON
WatchList = JSON.Charges (Needdata)
# Recherche de «marque» pour les femmes
Si «marque» dans Watchlist [«watch»] [«femmes»]:
Imprimer (Watchlist ['watch'] ['femmes'] ['marque'])

Sortir:

Dans le script ci-dessus, il n'y a qu'une seule valeur de marque pour Women Watch qui est 'Citoyen'. Ce qui suit sera la sortie après l'exécution du script.

Exemple-5: Entrée de recherche à partir d'un fichier JSON à l'aide de la méthode du filtre et Lambda

Les étapes suivantes montrent comment vous pouvez rechercher l'entrée à partir d'un fichier JSON basé sur une clé et des valeurs particulières. Le contenu de livres.json Le fichier est donné ci-dessous.

livres.json

[

"ISBN": "7799349885",
"Nom": "Essentials de la dynamique des véhicules",
"Auteur": "Joop P. Pauwelussen "
,

"ISBN": "7799349885",
"nom": "flux et combustion dans les moteurs alternatifs",
"Auteur": "C. Arcoumanis et t. Kamimoto "
,

"ISBN": "7799349885",
"Nom": "Interaction de véhicule conducteur de l'ergonomie automobile",
"Auteur": "Nikolaos Gkikas"

]]

Le script suivant recherchera l'entrée de livres.json fichier, où la valeur de l'auteur La clé est Nikolaos gkikas en utilisant lambda et filtre() méthode.

#!/ usr / bin / env python3
# Importer le module JSON
Importer JSON
# Ouvrez le fichier JSON existant pour le chargement dans une variable
avec ouvert ('livres.JSON ') comme jsondata:
data = json.chargement (jsondata)
# Rechercher des données basées sur la clé et la valeur à l'aide du filtre et de la méthode de liste
Imprimer (liste (filtre (Lambda x: x ["auteur"] == "Nikolaos gkikas", données))))

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Conclusion:

Lorsque vous travaillez avec une grande quantité de données JSON et que nous devons découvrir les informations spécifiques des données avec facilité, nous devons utiliser des moyens efficaces pour effectuer la tâche. Différentes façons de rechercher la clé et la valeur dans les données JSON sont expliquées dans cet article pour aider les utilisateurs de Python à effectuer le processus avec succès.