JSON zu CSV in Python
-
Verwenden Sie die Pandas DataFrames
to_csv()
Methode, um JSON in CSV in Python zu konvertieren -
Verwenden Sie das
csv
-Modul, um JSON in eine CSV-Datei zu konvertieren
JSON steht für JavaScript Object Notation
. Es basiert auf dem Format von Objekten in JavaScript und ist eine Kodierungstechnik zur Darstellung strukturierter Daten. Es ist heutzutage weit verbreitet, insbesondere für den Austausch von Daten zwischen Servern und Webanwendungen.
Eine CSV-Datei wird zum Speichern von Daten in einem tabellarischen Format wie Excel-Tabellen verwendet.
In diesem Tutorial werden wir lernen, wie man JSON-Daten in eine CSV-Datei konvertiert.
Verwenden Sie die Pandas DataFrames to_csv()
Methode, um JSON in CSV in Python zu konvertieren
In dieser Methode werden wir zuerst den JSON in einen Pandas DataFrame konvertieren und von dort aus mit der Methode to_csv()
in eine CSV-Datei umwandeln. Wir können den JSON-String mit der Funktion json.loads()
lesen, die in der json
-Bibliothek in Python bereitgestellt wird, um JSON in einen DataFrame zu konvertieren. Dann übergeben wir dieses JSON-Objekt an die Funktion json_normalize()
, die einen Pandas DataFrame zurückgibt, der die benötigten Daten enthält.
Der folgende Codeschnipsel erklärt, wie wir das machen.
import pandas as pd
import json
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)
df = pd.json_normalize(info["Results"])
df.to_csv("samplecsv.csv")
Der Inhalt der erstellten CSV-Datei ist unten zu sehen.
,id,Name
0,1,Jay
1,2,Mark
2,3,Jack
Verwenden Sie das csv
-Modul, um JSON in eine CSV-Datei zu konvertieren
Bei dieser Methode verwenden wir die csv
-Bibliothek in Python, die zum Lesen und Schreiben von CSV-Dateien verwendet wird. Zuerst lesen wir die JSON-Daten, wie wir es in der vorherigen Methode getan haben. Wir öffnen eine Datei im Schreibmodus und verwenden den DictWriter()
aus dem csv
-Modul, um ein Objekt zu erzeugen, mit dem wir JSON-Daten in die Datei mappen und schreiben können. Die fieldnames
sind Schlüssel, die identifiziert und mit den Daten abgeglichen werden, wenn wir Zeilen mit der Funktion writerows()
schreiben.
Der folgende Codeschnipsel zeigt, wie wir die obige Methode implementieren können:
import csv
import json
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)["Results"]
print(info[0].keys())
with open("samplecsv.csv", "w") as f:
wr = csv.DictWriter(f, fieldnames=info[0].keys())
wr.writeheader()
wr.writerows(info)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInVerwandter Artikel - Python JSON
- JSON von URL in Python abrufen
- Wie man eine JSON-Datei in Python hübsch ausdruckt
- Daten mit Python an eine JSON-Datei anhängen
- Python Vergleichen Sie mehrstufige JSON-Objekte mit JSON Diff
- Reduzieren Sie JSON in Python
- Serialisiert ein Python-Klassenobjekt in JSON
Verwandter Artikel - Python CSV
- Importieren Sie mehrere CSV-Dateien in Pandas und verketten Sie sie zu einem DataFrame
- Python teilt CSV in mehrere Dateien auf
- Vergleichen Sie zwei CSV-Dateien und drucken Sie Unterschiede mit Python
- Konvertieren XML in CSV mit Python
- Lesen CSV Zeile für Zeile in Python
- Python Schreiben in CSV Zeile für Zeile