JSON Dateien in Excel importieren

zindelino

Lt. Commander
Registriert
Mai 2011
Beiträge
1.047
Hallo zusammen,

ich habe einige JSON Dateien, die ich gerne in Excel importieren möchte. In den JSON sieht der Inhalt folgendermaßen aus:

{
"id": 4725,
"verified": 1,
"telefon": "",
"handy": "blablabla",
"photo": "blablabla",
"quiz_rolle": 1,
"name": "blablabla",
"team_active": 1,
"verantwortlich": 0,
"stat_fetchcount": 33,
"last_fetch": 1708038000,
"add_date": 1631829600,
"sleep_status": true
},
{
"id": 8389,
"verified": 1,
"telefon": "",
"handy": "blablabla",
"photo": "blablabla",
"quiz_rolle": 2,
"name": "blablabla",
"team_active": 1,
"verantwortlich": 0,
"stat_fetchcount": 33,
"last_fetch": 1712268000,
"add_date": 1686607200,
"sleep_status": false
},

Das waren jetzt nur 2 Blöcke, aber insgesamt gibt es in diesen JSON Daten ca. 30-60 solcher Blöcke. Wenn ich die Datei jetzt einfach in Excel öffne über Daten -> Daten abrufen -> Aus Datei -> JSON, dann bekomme ich dort einfach nur das Wort Record so oft in eine Tabelle geschrieben wieviele Datenblöcke vorhanden sind. Siehe Screenshot:
1712648944685.png


Ich möchte jetzt aber die Daten der einzelnen Blöcke in Excel importiert haben. Optimalerweise wird dabei nur ID und Name in eine Excel Tabelle eingefügt.

Hat hier jemand einen Tipp für mich wie ich an die Daten aus den einzelnen Blöcken (automatisiert) dran komme?
 
Kannst du vielleicht noch manuell zeigen, wie das Zielbild aussehen soll in Excel? Ein Bild sagt meistens mehr als Worte. Wir sehen, wie es nicht aussehen soll, aber es wäre auch nicht schlecht zu sehen, wie es "richtig" wäre.
 
Da bin ich relativ flexibel, da ich die Daten anschließend eh noch weiter verarbeiten muss, aber optimalerweise würden einfach die IDs mit den zugehörigen Namen untereinander weggeschrieben:
1712649470537.png



Für jeden Datenblock wird also eine Zeile angelegt, die aus ID und NAME besteht. Der Rest kann gerne noch in den Spalten stehen, allerdings reicht mir ID und NAME.

Ich gehe davon aus, dass ich erstmal ein Komma als Trennzeichen definieren muss, aber daran scheitert es schon. Wenn ich in dem Power Query Editor das Komma auswähle, erhalte ich den folgenden Fehler:

1712649784355.png


PS: Ich verwende übrigens Office 365 Version 2302
 
Ich fürchte ohne kleines Skript wird das nichts. Grundsäztlich geht die Datenstruktur von JSON in seinen Möglichkeiten viel weiter als eine zweidimensionale Tabelle wie Excel.

Diese Freiheitsgrade könnte man auf viele Arten auflösen.

Nachdem Excel wunderbar csv lesen kann kann man für die Programierung/Skripte frei wählen, weil ja beides blanke Textformate sind.
 
  • Gefällt mir
Reaktionen: scooter010 und cyberpirate
json 2 csv googlen. Oder in python, php, ... in csv umschreiben dann importieren über excels importierfunktion
 
@tollertyp: Genau das habe ich gebraucht. Ich hatte diese kleinen Pfeile da oben einfach nicht gesehen:
1712650021320.png


Damit bekomme ich es jetzt hin. Vielen Dank für die schnelle Hilfe!
Ergänzung ()

Vielleicht könnte mir hier jemand nur nochmal helfen das als eine Art Stapelverarbeitung zu nutzen?

Ich habe wie geschrieben mehrere JSON Dateien. Diese hab ich alle in einen Ordner gepackt und wähle dann über Datenabrufen den Ordner aus. Dann wähle ich "Daten kombinieren und transformieren" aus. Ich hatte die Hoffnung, dass Excel mir dann alle Daten aus alle JSON Dateien untereinander weg schreibt. Ich bekomme aber folgenden Fehler:
1712651829534.png


Ich habe oben in der Beispieldatei die gleichen Schritte gemacht wie vorher, wenn ich einzelne JSON Dateien reinlade, sodass mir in einer Tabelle die ID und Name angezeigt werden. Das scheint sich dann aber nicht zu übertragen
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: tollertyp
Ich wähle den Ordner aus und wähle dann:
1712653033048.png

Ich klicke dann auf die Beispieldatei:
1712653099499.png


und führe dort die gleichen Schritte aus, wie wenn ich eine einzelne JSON lade (also "Zu Tabelle" -> dann wähle ich die beiden Spalten aus mit ID und NAME:
1712653136435.png


Wenn ich das dann versuche zu laden, bekomme ich den oben beschriebenen Fehler.
1712653201115.png


Ich gehe davon aus, dass es evtl. was mit diesen Parametern und Datei transformieren zu tun hat, allerdings weiß ich nicht was ich sonst noch vorgeben müsste.
 
Ich finde auch gerade keine Möglichkeit, eine Transformation auf allen Elementen zu machen, nur auf einem einzelnen über Navigation in das Element der Liste, aber das hilft dir ja nicht.

Hmm also mit einer Datei habe ich das zumindest geschafft:
1712654570389.png


Code:
= Table.ExpandRecordColumn(#"In Tabelle konvertiert", "Column1", {"id", "name"}, {"Column1.id", "Column1.name"})
 
Ja, mit einer Datei schaffe ich es auch. Ist zwar jetzt keine elegante Lösung, aber ich hab einfach ein kleines Python Script genommen, was vorab alle JSON Dateien kombiniert und zusammen in eine rein schreibt. Dann lade ich nur noch die in Excel rein und habe es auch erledigt. Trotzdem Danke!!
 
  • Gefällt mir
Reaktionen: tollertyp
Zurück
Oben