Seite 1 von 1

JSON Datei auslesen

Verfasst: Freitag 15. Juli 2022, 10:22
von Jasy
Hallo zusammen, ich habe ein Problem und bräuchte Hilfe. Ich lade mir über eine API eine JSON Datei runter das klappt auch ohne Probleme. Nun würde ich gerne die JSON Datei lesen und nur bestimmte Werte auslesen und die in einer Linie wiedergeben. Plotten kann ich mit Fake Daten aber auslesen und wiedergeben wenn ich die JSON Datei angebe funktioniert nicht.

Die JSON Datei sieht wie folgt aus:

Code: Alles auswählen

"code":"200000",
"data":[
    {
        "price":"1001",
        "sequence":"1636607335665",
        "side":"sell",
        "size":"0.00000544",
        "time":1657828843154264094
    },
    {
        "price":"5538.9",
        "sequence":"1636607335668",
        "side":"buy",
        "size":"0.00000098",
        "time":1657828843399526634
    },
    {
        "price":"1001",
        "sequence":"1636607335707",
        "side":"sell",
        "size":"0.00000098",
        "time":1657828850316727168
    },
Nun möchte ich gerne das der Price angezeigt wird in einem Chart. Der Sell Price soll eine rote Linie haben und der Buy Price eine Blau Linie. Wie kann ich nun die JSON Datei lesen?

Mein Code der funktioniert:

Code: Alles auswählen

# importing pandas library
import pandas as pd
# importing matplotlib library
import matplotlib.pyplot as plt

# creating dataframe
df = pd.DataFrame({
    'X': [1, 2, 3, 4, 5],
    'Y': [2, 4, 6, 10, 15]
})

# plotting a line graph
print("Line graph: ")
plt.plot(df["X"], df["Y"])
plt.show()

Re: JSON Datei auslesen

Verfasst: Freitag 15. Juli 2022, 11:11
von noisefloor
Hallo,

die Datei ist kein valides JSON. Da fehlen die äußeren eckigen oder geschweiften Klammer...

Das gute bei JSON ist, dass die Struktur sich fast 1:1 auf Python übertragen lässt. Ein JSON-Objekt wird zu einem Python Dict und ein JSON Array zu einer Liste. Wo du dann mit den bekannten Wegen drauf zugreifst.

Zum Einlesen von JSON gibt es es JSON-Modul in der Python Standardbibliothek. Und Pandas kann auch direkt JSON lesen, falls du die Daten direkt in einen Pandas Dataframe einlesen willst.

Gruß, noisefloor

Re: JSON Datei auslesen

Verfasst: Freitag 15. Juli 2022, 14:38
von Jasy
Also ich hab es jetzt geschafft das die json Datei gelesen wird, aber wenn ich "price" und "side" filtern will wird mir nichts angezeigt.

Code: Alles auswählen

import pandas as pd

df = pd.read_json("events.json", orient='index')
dc = pd.DataFrame(df, columns=['side', 'price'])
print(dc)
Ausgabe:

Code: Alles auswählen

      side  price
code   NaN    NaN
data   NaN    NaN

Process finished with exit code 0

Re: JSON Datei auslesen

Verfasst: Freitag 15. Juli 2022, 19:51
von Sirius3
Hast Du Dir mal angeschaut, welche Daten in `df` stehen?
Die Daten sind nicht in einer Struktur, die man mit `read_json` lesen kann.

Re: JSON Datei auslesen

Verfasst: Samstag 16. Juli 2022, 13:52
von Jasy
Im df stehen alle Daten, über Print sehe ich ja alle Daten. Nur die einzelnen Werte auslesen klappt nicht.

Re: JSON Datei auslesen

Verfasst: Samstag 16. Juli 2022, 13:58
von Sirius3
Welche Spalten und Zeilen hat das Dataframe und wie viele? Und wie viele Datensätze erwartest Du eigentlich?