Wie konvertiert man JSON-Daten in Python in eine CSV-Datei?

Die Konvertierung von JSON-Daten in eine CSV-Datei in Python ist eine häufige Aufgabe bei der Datenbearbeitung und -analyse. JSON (JavaScript Object Notation) ist ein beliebtes Format für den Datenaustausch, da es für Menschen und Maschinen leicht zu lesen und zu schreiben ist. CSV (Comma Separated Values) ist ein einfaches Format zur Speicherung tabellarischer Daten, das in der Datenanalyse und -visualisierung weit verbreitet ist. In diesem Leitfaden erfahren Sie, wie Sie JSON-Daten in Python mit verschiedenen Methoden in eine CSV-Datei konvertieren können.

Warum JSON in CSV konvertieren?

Bevor wir uns mit dem Konvertierungsprozess befassen, ist es wichtig, die Gründe dafür zu verstehen. JSON und CSV dienen unterschiedlichen Zwecken:

  • JSON: Ideal für hierarchische oder verschachtelte Datenstrukturen. Es wird häufig in Webanwendungen für den Datenaustausch verwendet.
  • CSV: Am besten geeignet für flache, tabellarische Daten. Es wird häufig in Datenanalyse-Tools und Tabellenkalkulationsanwendungen verwendet.

Wenn Sie die Stärken und Schwächen von JSON und CSV kennen, können Sie das für Ihre Anforderungen am besten geeignete Format auswählen.

Methode 1: Verwendung der Bibliotheken csv und json

Die in Python integrierten Bibliotheken csv und json bieten eine einfache Möglichkeit, JSON-Daten in CSV zu konvertieren.

      import json
import csv

# Beispiel für JSON-Daten
json_data = '''
[
    {"name": "John", "age": 30, "city": "New York"},
    {"name": "Anna", "age": 22, "city": "London"},
    {"name": "Mike", "age": 32, "city": "Chicago"}
]
'''

# JSON-Daten Parsing
data = json.loads(json_data)

# CSV-Datei zum Schreiben öffnen
with open('output.csv', 'w', newline='') as csv_file:
    # CSV-Writer-Objekt erstellen
    csv_writer = csv.writer(csv_file)
    
    # Header-Zeile schreiben
    header = data[0].keys()
    csv_writer.writerow(header)
    
    # Datenzeilen schreiben
    for row in data:
        csv_writer.writerow(row.values())
    

Diese Methode liest JSON-Daten, führt das Parsing in einem Python-Wörterbuch durch und schreibt sie dann in eine CSV-Datei.

Methode 2: Verwendung von Pandas

Pandas ist eine leistungsstarke Bibliothek für die Datenbearbeitung und -analyse. Sie macht den Konvertierungsprozess einfach und effizient.

      import pandas as pd

# Beispiel-JSON-Daten
json_data = '''
[
    {"name": "John", "age": 30, "city": "New York"},
    {"name": "Anna", "age": 22, "city": "London"},
    {"name": "Mike", "age": 32, "city": "Chicago"}
]
'''

# Laden der JSON-Daten in einen DataFrame
df = pd.read_json(json_data)

# Schreiben des DataFrame in eine CSV-Datei
df.to_csv('output.csv', index=False)
    

Pandas erledigt die Konvertierung mit nur wenigen Zeilen Code und ist daher die bevorzugte Wahl für komplexe Datenbearbeitungsaufgaben.

Methode 3: Verwendung von CSV und JSON mit verschachtelten JSON-Strukturen

Die Verarbeitung verschachtelter JSON-Strukturen erfordert eine Vereinfachung der Daten vor der Konvertierung. Zu diesem Zweck kann die Funktion json_normalize von Pandas verwendet werden.

      import pandas as pd
from pandas import json_normalize

# Beispiel für verschachtelte JSON-Daten
nested_json_data = '''
[
    {
        "name": "John",
        "age": 30,
        "address": {"city": "New York", "zip": "10001"}
    },
    {
        "name": "Anna",
        "age": 22,
        "address": {"city": "London", "zip": "SW1A"}
    }
]
'''

# Laden und Normalisieren der JSON-Daten
df = pd.json_normalize(json.loads(nested_json_data))

# Schreiben des DataFrame in eine CSV-Datei
df.to_csv('output.csv', index=False)

    

Dieser Ansatz ist nützlich, um komplexe JSON-Strukturen in ein flaches CSV-Format zu konvertieren.

JSON vs. XML

Sowohl JSON als auch XML werden für den Datenaustausch verwendet, wobei JSON im Allgemeinen leichter zu lesen und zu schreiben ist. XML kann jedoch aufgrund seiner Fähigkeit, komplexe Schemata zu definieren, leistungsfähiger sein. Das Verständnis der Unterschiede zwischen JSON und XML kann Ihnen helfen, das richtige Format für Ihr Projekt auszuwählen.

Fazit

Die Konvertierung von JSON-Daten in CSV in Python ist ein einfacher Vorgang, der mit Bibliotheken wie csv, json und pandas durchgeführt werden kann. Jede Methode hat ihre Vorteile, und die Wahl hängt von der Komplexität Ihrer Daten und Ihren spezifischen Anforderungen ab. Wenn Sie an Informationen zu JSON vs. CSV interessiert sind, lesen Sie diesen Artikel.

Registrieren Sie sich noch heute bei Bright Data und entdecken Sie erstklassige Produkte für Web-Scraping.

Mehr als 20,000+ Kunden weltweit schenken uns ihr Vertrauen

Sind Sie bereit, loszulegen?