JSON in Python: Eine umfassende Anleitung zum Lesen & Schreiben von Daten

1. Was ist JSON?

Übersicht über JSON

JSON (JavaScript Object Notation) ist ein leichtgewichtiges und sehr effizientes Datenformat für den Datenaustausch. Es wird hauptsächlich für die Kommunikation zwischen Webanwendungen und Servern verwendet. Obwohl es auf JavaScript basiert, wird es von fast allen Programmiersprachen unterstützt. Insbesondere spielt JSON eine sehr wichtige Rolle beim Abrufen und Senden von Daten über APIs.

Struktur von JSON

JSON besteht aus Schlüssel-Wert-Paaren, und die Daten sind in geschweiften Klammern {} eingeschlossen. Stellen Sie sich als einfaches Beispiel die folgenden Daten vor:

{
    "name": "John",
    "age": 30,
    "isStudent": false,
    "courses": ["Math", "Physics", "Chemistry"]
}

Diese Struktur kann auch Listen oder verschachtelte Objekte enthalten und ist sehr flexibel.

2. Grundlegende Methoden zum Lesen von JSON-Dateien in Python

Einführung der Python-Bibliothek json

In Python können Sie JSON-Dateien einfach mit der Standardbibliothek json bearbeiten. Eine zusätzliche Installation ist nicht erforderlich; grundlegende Funktionen zum Lesen und Schreiben von Dateien sind von Anfang an vorhanden.

Methoden zum Lesen von JSON-Dateien

Wir erklären, wie Sie Daten mithilfe der Funktion json.load() aus einer Datei lesen können. Das folgende Beispiel ist ein einfacher Code, der JSON aus einer Datei liest und die Daten als Dictionary manipuliert:

import json

with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

print(data)
年収訴求

3. So lesen Sie JSON-Strings in Python

Verwendung der Funktion json.loads()

Um JSON-Daten, die als String vorliegen, in ein Python-Dictionary umzuwandeln, verwenden Sie die Funktion json.loads(). Dies wird häufig bei der Verarbeitung von JSON-Strings, beispielsweise aus API-Antworten, verwendet.

import json

json_string = '{"name": "Alice", "age": 25, "city": "Tokyo"}'
data = json.loads(json_string)

print(data)

Auf diese Weise können Sie JSON-Daten als String einfach in ein Dictionary umwandeln.

4. Hinweise und Fehlerbehebung beim Lesen von JSON-Dateien

Häufige Fehler und deren Behebung

Einer der häufigsten Fehler beim Lesen von JSON-Dateien ist der **JSONDecodeError**. Dieser Fehler tritt auf, wenn die Datei kein korrektes JSON-Format aufweist. Es ist wichtig, eine entsprechende Fehlerbehandlung durchzuführen und die Details des Fehlers zu überprüfen.

import json

try:
    with open('data.json', 'r', encoding='utf-8') as f:
        data = json.load(f)
except json.JSONDecodeError as e:
    print(f"JSON-Lesefehler: {e}")

Probleme mit der Kodierung

Bei JSON-Dateien, die japanische Zeichen enthalten, muss die Zeichenkodierung beachtet werden. Die Angabe von encoding='utf-8' verhindert Zeichenkodierungsprobleme.

侍エンジニア塾

5. Effiziente Verarbeitung großer JSON-Datenmengen

Speichereffiziente Datenverarbeitung

Das vollständige Laden einer riesigen JSON-Datei in den Speicher kann zu Speichermangel führen. Um dies zu vermeiden, wird die Verwendung von Streaming-Bibliotheken wie ijson empfohlen.

import ijson

with open('large_file.json', 'r', encoding='utf-8') as f:
    for item in ijson.items(f, 'item'):
        print(item)

Durch die Verwendung von ijson können große Datenmengen effizient verarbeitet werden.

6. Nutzung von JSON-Daten nach der Konvertierung in Python-Dictionaries

Grundlegende Dictionary-Operationen

Die Konvertierung von JSON in ein Dictionary macht die Datenbearbeitung sehr einfach. Sie können beispielsweise den Wert für einen bestimmten Schlüssel abrufen oder Daten ändern.

# Beispiel für die Bearbeitung von Dictionary-Daten
print(data['name'])  # Zeigt 'Alice' an
data['age'] = 26  # Wert aktualisieren
data['email'] = 'alice@example.com'  # Neuen Schlüssel und Wert hinzufügen

7. Auch das Schreiben von JSON in Python wird erklärt

Schreiben in JSON-Dateien

Um manipulierte Dictionary-Daten aus Python im JSON-Format in eine Datei zu schreiben, verwenden Sie die Funktion json.dump(). Dadurch können die aktualisierten Daten gespeichert werden.

with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, indent=4, ensure_ascii=False)

Die Option indent=4 formatiert die Ausgabe, und ensure_ascii=False speichert japanische Zeichen direkt.

年収訴求