JSON (JavaScript Object Notation) ist ein weit verbreitetes Format zum Datenaustausch. Aufgrund seiner Leichtigkeit und guten Lesbarkeit wird es in verschiedenen Situationen verwendet, wie z. B. bei Web-API-Antworten oder Konfigurationsdateien. In diesem Artikel wird ausführlich erläutert, wie man JSON-Dateien mit Python effizient liest, aktualisiert und bearbeitet, und zwar anhand konkreter Codebeispiele. Dadurch wird es auch für Python-Anfänger einfach, JSON-Dateien zu bearbeiten.
Was ist eine JSON-Datei?
Eine JSON-Datei ist ein leichtgewichtiges, für Menschen lesbares Datenaustauschformat, das für JavaScript Object Notation steht. Sie stellt hauptsächlich Objekte dar, die aus Schlüssel-Wert-Paaren bestehen, oder Arrays, die aus Listen von Werten bestehen. Da JSON sprachunabhängig ist und von vielen Programmiersprachen unterstützt wird, ist es weit verbreitet für die Datenspeicherung und -übertragung.
Wie man JSON-Dateien mit Python liest
In Python kann man JSON-Dateien einfach mit dem json
-Modul aus der Standardbibliothek lesen. Im Folgenden werden die grundlegenden Schritte und ein Codebeispiel vorgestellt.
Importieren des JSON-Moduls
Zunächst importiert man das json
-Modul. Da es Teil der Standardbibliothek ist, ist keine zusätzliche Installation erforderlich.
import json
Lesen einer JSON-Datei
Als Nächstes wird eine JSON-Datei gelesen. Im folgenden Codebeispiel wird die Datei data.json
gelesen und ihr Inhalt als Python-Dictionary abgerufen.
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
In dem obigen Code wird die Datei mit der Funktion open
geöffnet und die JSON-Daten mit der Funktion json.load
geladen. Die geladenen Daten können dann als Python-Dictionary behandelt werden.
Wie man Daten in einer JSON-Datei aktualisiert
In Python ist es einfach, geladene JSON-Daten zu aktualisieren. Im Folgenden werden die konkreten Schritte und ein Codebeispiel vorgestellt.
Aktualisieren von JSON-Daten
Geladene JSON-Daten werden als Python-Dictionary behandelt. Um diese zu aktualisieren, führt man normale Dictionary-Operationen durch. Zum Beispiel kann man den Wert eines bestimmten Schlüssels wie folgt ändern.
# Vorhandene Daten aktualisieren
data['name'] = 'Neuer Name'
Speichern der aktualisierten Daten
Um die aktualisierten Daten in der ursprünglichen JSON-Datei zu speichern, verwendet man die Funktion json.dump
. Im folgenden Beispiel werden die aktualisierten Daten in der Datei data.json
überschrieben gespeichert.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
In dem obigen Code wird die Datei mit der Funktion open
geöffnet und die aktualisierten Daten mit der Funktion json.dump
geschrieben. Durch Angabe des Parameters indent
kann man die Einrückung der gespeicherten JSON-Daten festlegen, um die Lesbarkeit zu verbessern.
Wie man neue Daten zu einer JSON-Datei hinzufügt
Es ist auch einfach, neue Daten zu einer bestehenden JSON-Datei hinzuzufügen. Im Folgenden werden die konkreten Schritte und ein Codebeispiel vorgestellt.
Hinzufügen neuer Daten
Da JSON-Daten als Dictionary behandelt werden, fügt man einfach ein neues Schlüssel-Wert-Paar zum Dictionary hinzu. Im folgenden Beispiel wird ein neuer Schlüssel age
und dessen Wert hinzugefügt.
# Neue Daten hinzufügen
data['age'] = 30
Speichern der hinzugefügten Daten
Nach dem Hinzufügen der neuen Daten speichert man die aktualisierten Inhalte in der JSON-Datei. Die Speichermethode ist dieselbe wie bei Aktualisierungen. Im folgenden Beispiel werden die neuen Daten in der Datei data.json
gespeichert.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
Auf diese Weise kann man neue Daten zu einer bestehenden JSON-Datei hinzufügen und speichern.
Wie man Daten aus einer JSON-Datei löscht
In Python kann man über die Manipulation von Dictionary-Objekten unnötige Daten aus einer JSON-Datei entfernen. Im Folgenden werden die konkreten Schritte und ein Codebeispiel vorgestellt.
Löschen von Daten
Um bestimmte Schlüssel und deren Werte aus den JSON-Daten zu entfernen, verwendet man den Befehl del
des Dictionarys. Im folgenden Beispiel wird der Schlüssel age
gelöscht.
# Einen bestimmten Schlüssel löschen
del data['age']
Speichern der gelöschten Daten
Nach dem Löschen der Daten speichert man die aktualisierten Inhalte in der JSON-Datei. Die Speichermethode ist dieselbe wie bei Aktualisierungen oder Hinzufügungen. Im folgenden Beispiel werden die Daten nach dem Löschen in der Datei data.json
gespeichert.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
Auf diese Weise kann man unnötige Daten aus einer JSON-Datei entfernen und speichern.
Speichern und Kodieren von JSON-Dateien
Beim Speichern von aktualisierten oder bearbeiteten JSON-Daten ist die richtige Kodierungseinstellung wichtig. Im Folgenden wird erläutert, wie man JSON-Dateien speichert und kodiert.
Speichern von JSON-Daten
In Python speichert man bearbeitete JSON-Daten mit der Funktion json.dump
in einer Datei. Man öffnet die Datei im Schreibmodus und speichert die aktualisierten Daten.
with open('data.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False)
Durch die Angabe von encoding='utf-8'
wird die Datei im UTF-8-Format gespeichert. Außerdem ermöglicht die Option ensure_ascii=False
, dass auch nicht-ASCII-Zeichen wie Japanisch korrekt gespeichert werden.
Die Bedeutung der Kodierung
Die Kodierungseinstellung ist besonders wichtig für internationalisierte Anwendungen. Durch die Verwendung der UTF-8-Kodierung wird eine breite Palette von Zeichen unterstützt, was die Kompatibilität der Daten sicherstellt.
Anwendungsbeispiel: Arbeiten mit mehreren JSON-Dateien
Beim Arbeiten mit mehreren JSON-Dateien in Python sind Schritte wie das Lesen der einzelnen Dateien, das Zusammenführen der Daten, das Aktualisieren und das Speichern erforderlich. Im Folgenden werden die konkreten Schritte und ein Codebeispiel vorgestellt.
Lesen mehrerer Dateien
Zunächst liest man mehrere JSON-Dateien. Im folgenden Beispiel werden die Dateien data1.json
und data2.json
gelesen und die jeweiligen Daten abgerufen.
import json
# Dateien lesen
with open('data1.json', 'r') as file1, open('data2.json', 'r') as file2:
data1 = json.load(file1)
data2 = json.load(file2)
Zusammenführen der Daten
Im Folgenden wird erläutert, wie man die gelesenen Daten zusammenführt. Im folgenden Beispiel werden zwei Dictionaries zusammengeführt.
# Daten zusammenführen
merged_data = {**data1, **data2}
Wenn die Schlüssel der Dictionaries übereinstimmen, hat der Wert aus data2
Vorrang.
Aktualisieren und Speichern der zusammengeführten Daten
Man aktualisiert die zusammengeführten Daten und speichert sie. Im folgenden Beispiel wird ein neuer Eintrag zu den zusammengeführten Daten hinzugefügt und in der Datei merged_data.json
gespeichert.
# Daten aktualisieren
merged_data['new_key'] = 'Neuer Wert'
# Zusammengeführte Daten speichern
with open('merged_data.json', 'w', encoding='utf-8') as file:
json.dump(merged_data, file, indent=4, ensure_ascii=False)
Auf diese Weise kann man mehrere JSON-Dateien bearbeiten, die Daten zusammenführen und speichern.
Übungsaufgaben
Hier sind einige Übungsaufgaben, um den Umgang mit JSON-Dateien in Python zu üben. Diese Aufgaben helfen dabei, das Gelernte praktisch zu verstehen.
Übungsaufgabe 1: JSON-Datei lesen
Lesen Sie die folgende Datei example.json
und geben Sie deren Inhalt aus.
{
"name": "Alice",
"age": 25,
"city": "Tokyo"
}
Übungsaufgabe 2: Daten aktualisieren
Aktualisieren Sie den Wert von age
in den Daten aus Übungsaufgabe 1 auf 30 und geben Sie die aktualisierten Inhalte aus.
Übungsaufgabe 3: Hinzufügen neuer Daten
Fügen Sie zu den in Übungsaufgabe 2 aktualisierten Daten einen neuen Schlüssel email
mit dem Wert alice@example.com
hinzu und geben Sie die aktualisierten Inhalte aus.
Übungsaufgabe 4: Daten löschen
Löschen Sie den in Übungsaufgabe 3 hinzugefügten Schlüssel email
und dessen Wert und geben Sie die Inhalte nach dem Löschen aus.
Übungsaufgabe 5: Zusammenführen mehrerer Dateien
Lesen Sie die folgenden zwei JSON-Dateien und führen Sie deren Daten zusammen.
// file1.json
{
"name": "Alice",
"age": 25
}
// file2.json
{
"city": "Tokyo",
"country": "Japan"
}
Fügen Sie nach dem Zusammenführen der Daten einen neuen Schlüssel phone
mit dem Wert 123-456-7890
hinzu und speichern Sie die zusammengeführten Daten in einer neuen Datei merged.json
.
Mit diesen Übungsaufgaben können Sie die Grundlagen der JSON-Dateiverarbeitung in Python sicher erlernen.
Zusammenfassung
In diesem Artikel wurde ausführlich erklärt, wie man JSON-Dateien mit Python verarbeitet. Die grundlegende Struktur von JSON-Dateien sowie das Lesen, Aktualisieren, Hinzufügen und Löschen von Daten und das Zusammenführen mehrerer Dateien wurden behandelt. Durch die Übungsaufgaben konnten praktische Fähigkeiten erworben werden. Nutzen Sie dieses Wissen, um Datenverarbeitung und API-Integrationen effizient zu gestalten. Setzen Sie Ihre Python-Kenntnisse ein, um in Zukunft noch effektiver programmieren zu können.