Python

Comment rechercher des données dans JSON en utilisant python

Comment rechercher des données dans JSON en utilisant python

L'une des techniques de sérialisation de données les plus utilisées est le format JSON. Python a un module intégré JSON pour travailler avec les données JSON. Il prend en charge tous les types de types de données primitifs tels que nombre, chaîne, etc., ainsi que les objets python. Les données sont stockées dans un format structuré en JSON. Parfois, il est nécessaire de rechercher une donnée particulière à 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. La façon dont les données JSON peuvent être recherchées en fonction de la clé ou de la valeur à l'aide du script python est illustrée dans cet article.

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

Le script suivant montre comment rechercher si une clé particulière existe ou non dans une chaîne JSON. 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 loads () 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 Michael",
"email": "[email protégé]",
"type": "régulier",
"adresse": "4258 Poplar Chase Lane, Boise, Idaho."
"""
# Saisissez la valeur de la clé que vous souhaitez rechercher
keyVal = input("Entrez une valeur de clé : \n")
# charger les données json
client = json.charges (données client)
# Recherchez la valeur de la clé à l'aide de l'opérateur 'in'
si keyVal dans client :
# Imprimer le message de réussite et la valeur de la clé
print("%s est trouvé dans les données JSON" %keyVal)
print("La valeur de", keyVal,"est", client[keyVal])
autre:
# Imprimer le message si la valeur n'existe pas
print("%s n'est pas trouvé dans les données JSON" %keyVal)

Production:

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 : Rechercher 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 'Absent' dans les données JSON et imprimera la valeur de nom correspondante. pour loop est utilisé ici itérer les 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": "Absente",
"David M Volkert": "Présent",
"Israël M Oneal": "Présent",
"Elizabeth M Groff": "Absente"
"""
# Initialiser un compteur
compteur = 0
# charger les données json
appList = json.charges (demandeurs)
# itérer json pour trouver la liste des candidats absents
pour la clé dans appList :
if (appList[key] == 'Absent'):
# Vérifiez le compteur et imprimez le message
si (compteur == 0) :
print("Les candidats suivants sont absents :")
imprimer (clé)
compteur = compteur + 1
# Imprimer le message si aucun candidat n'est absent
si (compteur == 0) :
print("Tous les candidats sont présents")

Production:

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 : Rechercher une valeur 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é associée sera imprimée en sortie. search_price() fonction est définie ici prendre la valeur de la 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",
"prix_unitaire":5
,

"name":"Gomme",
"prix_unitaire":3
,

"nom": "Crayon",
"prix_unitaire":10
,

"name":"Livre blanc",
"prix_unitaire":15

]"""
# charger les données json
éléments = json.charges (jsondata)
# Saisissez 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 nom.inférieur() == keyval['nom'].plus bas():
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(item))
autre:
print("L'article n'est pas trouvé")

Production:

Le script est exécuté deux fois dans cette sortie. 'crayon' est considérée comme la valeur de la Nom clé qui existe dans le JSON Les données. le Prix ​​unitaire de 'crayon' est dix qui est imprimé. Suivant, 'livre' est considérée 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 montre les étapes de recherche de la valeur d'une clé particulière dans les données JSON imbriquées. Ici, une variable JSON imbriquée nommée données imbriquées est déclaré pour stocker des données imbriquées. Ce script recherchera le nom de marque de la montre femme.

#!/usr/bin/env python3
# Importer le module json
importer json
# Définir la variable json des données imbriquées
nestedData = """
"Regardez":
"Hommes":
"marque": "Titan",
"prix":200
,
"femmes":
"brand": "Citoyen",
"prix":250
,
"enfant":
"brand": "Blancpain",
"prix":100


"""
# Charger les données json
liste de suivi = json.charges (données imbriquées)
# Rechercher « marque » pour les femmes
if 'brand' in watchlist['watch']['women'] :
print(watchlist['watch']['women']['brand'])

Production:

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

Exemple-5 : Rechercher une entrée à partir d'un fichier JSON à l'aide de la méthode de filtrage et de lambda

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

livres.json

[

"isbn": "7799349885",
"nom": "Essentiels de la dynamique du véhicule",
"auteur": "Joop P. Pauwelussen"
,

"isbn": "7799349885",
"name": "Flux et combustion dans les moteurs alternatifs",
"auteur": "C. Arcoumanis et T. Kamimoto"
,

"isbn": "7799349885",
"name": "Interaction avec le conducteur et 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 utilisant lambda et filtre() méthode.

#!/usr/bin/env python3
# Importer le module JSON
importer json
# Ouvrir le fichier JSON existant pour le charger dans une variable
avec open('livres.json') en tant que jsondata :
données = json.charger (jsondata)
# Rechercher des données en fonction de la clé et de la valeur à l'aide de la méthode de filtrage et de liste
print(list(filter(lambda x:x["author"]=="Nikolaos Gkikas",data)))

Production:

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 vous avez besoin de trouver facilement des informations spécifiques à partir des données, nous devons utiliser des moyens efficaces pour effectuer la tâche. Différentes façons de rechercher une clé et une valeur dans les données JSON sont expliquées dans cet article pour aider les utilisateurs de python à exécuter le processus avec succès.

Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...