So konvertieren Sie JSON in CSV in Python

Frau übergibt Codierung von HTML und Programmierung auf Bildschirmlaptop, Web, Entwickler.

So konvertieren Sie JSON in CSV in Python

Bildnachweis: oatawa/iStock/GettyImages

Sie können konvertieren JSON zu CSV in der Programmiersprache Python Verwenden von integrierten Bibliotheken, die mit der Sprache geliefert werden. Sie können das JSON-Objekt durchlaufen und seine Schlüssel und Werte als Zeilen in einer durch Kommas getrennten Wertedatei ausgeben. Beachten Sie, dass nicht alle JSON-Dateien problemlos als einzelne CSV-Dateien dargestellt werden können. Je nach Format müssen Sie daher möglicherweise mehrere CSV-Dateien verwenden, um alle Daten sinnvoll darzustellen.

Verständnis von JSON und CSV

JSON- und CSV-Dateien sind zwei gängige Methoden zur Darstellung digitaler Daten. JSON steht für JavaScript-Objekt-Notation, und es ist eine Möglichkeit, Daten als verschachtelte Zuordnungen von Schlüsseln zu Werten sowie Datenlisten darzustellen. Es ist davon inspiriert, wie Daten in der Programmiersprache JavaScript dargestellt werden, aber viele moderne Programmiersprachen, einschließlich Python, verfügen über Tools zum Verarbeiten von JSON-Daten.

Video des Tages

EIN durch Kommas getrennter Wert file ist eine weitere Möglichkeit, strukturierte Daten darzustellen. Diese Dateien werden häufig mit Tabellenkalkulationen und ähnlichen Programmen verwendet. Wenn Sie also möchten, JSON in Excel importieren es kann sinnvoll sein, es zuerst in eine CSV-Datei zu konvertieren. Im Allgemeinen enthalten CSV-Dateien Spaltenüberschriften am Anfang der Datei, die angeben, was in jeder Spalte gespeichert ist. Dann besteht jede Zeile in der Datei aus mehreren Werten, einen für jede Spalte, getrennt durch Kommas. Es gibt spezielle Regeln für den Umgang mit Daten, die Kommas enthalten.

Genau wie bei JSON-Dateien gibt es in vielen Programmiersprachen, einschließlich Python, viele Tools zum Generieren und Lesen von CSV-Dateien.

Konvertieren Sie JSON in CSV

Sie können JSON in CSV konvertieren, indem Sie die integrierten JSON- und CSV-Bibliotheken in Python verwenden. Importieren Sie sie in Ihren Code, indem Sie am oberen Rand Ihres Codes Zeilen mit der Aufschrift "import json" und "import csv" hinzufügen.

Verwenden Sie dann die "Belastung"-Methode zum Importieren der Daten aus einer JSON-Datei. Es wird als Python-Wörterbuch geladen. Verwenden Sie das Wörterbuch "Schlüssel"-Methode, um die Datenfelder in der JSON-Datei zu bestimmen, die zu den Spalten in Ihrer CSV-Datei werden.

Verwenden Sie die "DiktatWriter" -Klasse, um eine CSV-Datei mit diesen Spalten zu erstellen, indem Sie sie mit dem "Feldnamen" Streit. Verwenden Sie seine "Schreibkopfzeilen"-Methode, um die Spaltennamen oben in der CSV-Datei auszugeben.

Dann durchlaufen Sie das JSON-Objekt mit a für Schleife. Anruf die Methode "writerow" des CSV-Objekts für jedes Datenelement in der JSON-Datei, um eine entsprechende Zeile in der CSV-Datei zu erstellen.

Komplexe JSON-Dateien

Einige komplexe JSON-Dateien können schwieriger als CSVs dargestellt werden. Dies kann Dateien umfassen, die nicht sofort einer standardmäßigen Zeilen- und Spaltenstruktur entsprechen. Wenn Sie mit einer solchen Datei zu tun haben und sie in eine CSV-Datei konvertieren möchten, haben Sie einige Möglichkeiten.

Zuerst können Sie nach dem gesamten Satz von Datenfeldern suchen, die in der JSON-Datei vorkommen, und diese zu den Spalten Ihrer CSV-Datei machen. Lassen Sie eine Spalte in einer bestimmten Zeile leer, wenn sie dort nicht erscheint. Nutze die Option "extrasaction='ignorieren'" beim Einrichten des Python CSV DictWriter, um dies automatisch für Felder zu tun, die in einem bestimmten Datenelement nicht vorkommen.

Sie können auch erwägen, die JSON-Datei als mehrere CSVs darzustellen, eine für jeden darin dargestellten Datentyp. Verwenden Sie Python wenn -Anweisungen, um zu erkennen, in welche CSV-Datei ein bestimmtes Datenelement geschrieben werden soll.

Diese Technik kann auch für verschachtelte JSON-Dateien nützlich sein, in denen JSON-Objekte andere Objekte enthalten. Diese Unterobjekte können in eine eigene CSV-Datei mit Angabe der Zeile in der primären CSV-Datei eingefügt werden, der sie entsprechen.