Python

So suchen Sie mit Python nach Daten in JSON

So suchen Sie mit Python nach Daten in JSON

Eine der am häufigsten verwendeten Techniken zur Datenserialisierung ist das JSON-Format. Python verfügt über ein integriertes JSON-Modul, um mit JSON-Daten zu arbeiten. Es unterstützt alle Arten von primitiven Datentypen wie Zahlen, Zeichenfolgen usw. zusammen mit Python-Objekten. Die Daten werden in einem strukturierten Format in JSON gespeichert. Manchmal ist es erforderlich, bestimmte Daten in einem großen JSON-String oder einer JSON-Datei zu suchen. Es gibt viele Möglichkeiten, nach bestimmten Daten aus JSON-Daten zu suchen. Wie JSON-Daten mithilfe des Python-Skripts basierend auf Schlüssel oder Wert durchsucht werden können, wird in diesem Artikel gezeigt.

Beispiel-1: Suchschlüssel in einfachen JSON-Daten

Das folgende Skript zeigt, wie Sie suchen, ob ein bestimmter Schlüssel in einem JSON-String vorhanden ist oder nicht. Hier eine Variable namens Kundendaten ist zum Speichern der JSON-Daten definiert. Der Wert des Schlüssels wird als Eingabe vom Benutzer übernommen. Die Methode load() des JSON-Moduls wird verwendet, um JSON-Daten in die Variable namens . zu laden Kunde. Nächster, 'im' Operator wird verwendet, um den Schlüssel zu suchen.

#!/usr/bin/env python3
# Json-Modul importieren
json importieren
# Json-Daten definieren
Kundendaten ="""
"id": "3425678",
"name": "John Michael",
"email": "[email protected]",
"typ": "normal",
"Adresse": "4258 Poplar Chase Lane, Boise, Idaho."
"""
# Geben Sie den Schlüsselwert ein, nach dem Sie suchen möchten
keyVal = input("Geben Sie einen Schlüsselwert ein: \n")
# die JSON-Daten laden
Kunde = json.Lasten (Kundendaten)
# Suchen Sie den Schlüsselwert mit dem 'in'-Operator
wenn keyVal im Kunden:
# Drucken Sie die Erfolgsmeldung und den Wert des Schlüssels
print("%s wird in JSON-Daten gefunden" %keyVal)
print("Der Wert von", keyVal,"is", customer[keyVal])
sonst:
# Nachricht drucken, wenn der Wert nicht existiert not
print("%s wurde in den JSON-Daten nicht gefunden" %keyVal)

Ausgabe:

Das Skript wird hier zweimal ausgeführt. Ein vorhandener Schlüsselwert wird zum ersten Mal angegeben und ein nicht vorhandener Schlüsselwert wird zum zweiten Mal angegeben.

Beispiel-2: Suche nach einem bestimmten Wert in JSON-Daten

Das folgende Skript zeigt, wie Sie einen bestimmten Wert in JSON-Daten suchen. Bewerber Variable enthält die JSON-Daten, wobei der Schlüssel zum Speichern des Namens des Bewerbers und der Wert zum Speichern des Bewerbers verwendet wird ist anwesend oder fehlt. Das Skript sucht den Wert 'Absent' in den JSON-Daten und druckt den entsprechenden Namenswert. zum loop wird hier verwendet, iteriere die JSON-Daten.

#!/usr/bin/env python3
# Json-Modul importieren
json importieren
# Json-Daten definieren
Bewerber ="""
"Scott C Aldridge": "Gegenwart",
"Joe L Foss": "Gegenwart",
"Clyde M Gold": "Geschenk",
"Monique C. Doolittle": "Abwesend",
"David M. Volkert": "Gegenwart",
"Israel M Oneal": "Gegenwart",
"Elizabeth M. Groff": "Abwesend"
"""
# Zähler initialisieren
Zähler = 0
# die JSON-Daten laden
appList = json.Belastungen (Bewerber)
# iteriere json, um die Liste der abwesenden Bewerber zu finden
für Schlüssel in AppList:
if (appList[key] == 'Abwesend'):
# Überprüfen Sie den Zähler und drucken Sie die Nachricht
wenn (Zähler == 0):
print("Folgende Bewerber fehlen:")
Drucken (Schlüssel)
Zähler = Zähler + 1
# Nachricht ausdrucken, wenn kein Bewerber abwesend ist
wenn (Zähler == 0):
print("Alle Bewerber sind anwesend")

Ausgabe:

Laut den JSON-Daten aus dem Skript fehlen zwei Bewerber. Dies ist die resultierende Ausgabe nach dem Ausführen des Skripts:

Beispiel-3: Suchwert in JSON-Array-Daten mit der benutzerdefinierten Funktion

Im folgenden Skript wird ein JSON-Array namens jsondata ist definiert. Hier wird nach einem bestimmten Wert eines Schlüssels gesucht und wenn der Wert vorhanden ist, wird der Wert eines anderen zugehörigen Schlüssels als Ausgabe ausgegeben. search_price() Funktion ist hier definiert nehme den Wert von Name Schlüssel, der in den JSON-Daten gesucht wird und den Wert des entsprechenden Stückpreis Schlüssel.

#!/usr/bin/env python3
# Json-Modul importieren
json importieren
# Json-Variable definieren
jsondata = """[

"name":"Stift",
"Einheitspreis":5
,

"name":"Radiergummi",
"unit_price":3
,

"name":"Bleistift",
"unit_price":10
,

"name":"Weißbuch",
"Einheitspreis":15

]"""
# die JSON-Daten laden
items = json.lädt (jsondata)
# Geben Sie den Namen des Elements ein, nach dem Sie suchen möchten
item = input("Geben Sie einen Elementnamen ein:\n")
# Definieren Sie eine Funktion zum Suchen des Artikels search
def search_price (Name):
für Keyval in Artikeln:
wenn name.lower() == keyval['name'].niedriger():
Schlüsselwert zurückgeben['unit_price']
# Überprüfen Sie den Rückgabewert und drucken Sie die Nachricht
if (search_price(item) != Keine):
print("Der Preis ist:", search_price(item))
sonst:
print("Artikel wurde nicht gefunden")

Ausgabe:

Das Skript wird in dieser Ausgabe zweimal ausgeführt. 'Bleistift' wird als Wert von . angenommen Name Schlüssel, der in der existiert JSON Daten. Das Stückpreis von 'Bleistift' ist 10 das ist gedruckt. Nächster, 'Buch' wird als Eingabewert verwendet, der in den JSON-Daten nicht vorhanden ist.

Beispiel-4: Suchschlüssel in verschachtelten JSON-Daten

Das folgende Skript zeigt Schritte zum Suchen des Werts eines bestimmten Schlüssels in den verschachtelten JSON-Daten. Hier eine verschachtelte JSON-Variable namens nestedData ist zum Speichern verschachtelter Daten deklariert. Dieses Skript sucht den Markennamen der Damenuhr.

#!/usr/bin/env python3
# Json-Modul importieren
json importieren
# Definiere die Json-Variable von verschachtelten Daten
nestedData = """
"Uhr":
"Männer":
"marke":"Titan",
"Preis": 200
,
"Frauen":
"brand":"Bürger",
"Preis":250
,
"Kind":
"brand":"Blancpain",
"Preis": 100


"""
# Laden Sie die Json-Daten
Merkliste = json.lädt(nestedData)
# Suche nach 'Marke' für Frauen
if 'brand' in Watchlist['watch']['women']:
print(Watchlist['watch']['women']['brand'])

Ausgabe:

Im obigen Skript gibt es nur einen Markenwert für Damenuhren, der 'Bürger'. Das Folgende ist die Ausgabe nach dem Ausführen des Skripts.

Beispiel-5: Sucheintrag aus einer JSON-Datei mit Filtermethode und Lambda

Die folgenden Schritte zeigen, wie Sie den Eintrag aus einer JSON-Datei basierend auf einem bestimmten Schlüssel und Werten durchsuchen können. Der Inhalt von Bücher.json Datei ist unten angegeben.

Bücher.json

[

"isbn": "7799349885",
"name": "Grundlagen der Fahrzeugdynamik",
"Autor": "Joop P. Pauwelussen"
,

"isbn": "7799349885",
"name": "Strömung und Verbrennung in Hubkolbenmotoren",
"Autor": "C. Arcumanis und T. Kamimoto"
,

"isbn": "7799349885",
"name": "Automotive Ergonomie Fahrer-Fahrzeug-Interaktion",
"Autor": "Nikolaos Gkikas"

]

Das folgende Skript sucht den Eintrag von Bücher.json Datei, wobei der Wert von der Autor Schlüssel ist Nikolaos Gkikas mit Lambda und Filter() Methode.

#!/usr/bin/env python3
# JSON-Modul importieren
json importieren
# Öffnen Sie die vorhandene JSON-Datei zum Laden in eine Variable
mit offenen('Bücher.json') als jsondata:
data = json.laden(jsondata)
# Suche nach Daten basierend auf Schlüssel und Wert mit Filter- und Listenmethode
print(list(filter(lambda x:x["author"]=="Nikolaos Gkikas",data)))

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Fazit:

Wenn wir mit einer großen Menge an JSON-Daten arbeiten und die spezifischen Informationen mit Leichtigkeit aus den Daten herausfinden müssen, müssen wir effiziente Wege verwenden, um die Aufgabe zu erledigen. In diesem Artikel werden verschiedene Möglichkeiten zum Suchen von Schlüsseln und Werten in JSON-Daten erläutert, um Python-Benutzern zu helfen, den Prozess erfolgreich durchzuführen.

Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...
Steuern und verwalten Sie Mausbewegungen zwischen mehreren Monitoren in Windows 10
Dual-Display-Maus-Manager lässt Sie die Mausbewegung zwischen mehreren Monitoren steuern und konfigurieren, indem Sie ihre Bewegungen in der Nähe der ...
Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...