JSON zu CSV in Python

Manav Narula 18 Juli 2021
  1. Verwenden Sie die Pandas DataFrames to_csv() Methode, um JSON in CSV in Python zu konvertieren
  2. Verwenden Sie das csv-Modul, um JSON in eine CSV-Datei zu konvertieren
JSON zu CSV in Python

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 Narula avatar Manav Narula avatar

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.

LinkedIn

Verwandter Artikel - Python JSON

Verwandter Artikel - Python CSV