Ich bin neu in Python und habe in ein Problem, dass ich nicht in der Lage zu lösen trotz viel suchen und lesen verwandte Beiträge laufen. Jede Hilfe ist sehr geschätzt: Ich habe eine JSON-Datei in ein Verzeichnis importiert, die diese Struktur hat:Python Ausgabe dict zu neuen JSON-Struktur
{
"23991": {
"5115": 10,
"2611": 22
},
"43223": {
"7252": 11,
"4302": 2
}
}
Ich will es auf eine neue JSON-Datei speichern, mit dieser Struktur:
[
{
"sni": {
"code": "23991",
"yrken": [
{
"code": "5115",
"antal": 10
},
{
"code": "2611",
"antal": 22
}
]
}
},
{
"sni": {
"code": "43223",
"yrken": [
{
"code": "7252",
"antal": 11
},
{
"code": "4302",
"antal": 11
}
]
}
}
]
So bis jetzt habe ich diesen Code:
import os
import sys
import json
pathSNI2Yrke = "Smallsni2Yrke.json"
with open(pathSNI2Yrke) as data_file:
sni2Yrke = json.load(data_file)
#print(sni2Yrke)
for key in sni2Yrke:
value = sni2Yrke[key]
d = [{"sni":
{"snicode": key,
"yrken": [{ "yrkecode":list(value.keys()),
"antal": list(value.values())}]}}]
j = json.dumps(d, indent=2)
#f = open('sample.json', 'w')
print (j)
Was mir dieses Ergebnis gibt:
[
{
"sni": {
"snicode": "23991",
"yrken": [
{
"yrkecode": [
"5115",
"2611"
],
"antal": [
10,
22
]
}
]
}
}
]
[
{
"sni": {
"snicode": "43223",
"yrken": [
{
"yrkecode": [
"7252",
"4302"
],
"antal": [
11,
2
]
}
]
}
}
]
Wie Sie sehen, ist dies nicht eine korrekte JSON-Struktur, und für das Leben von mir kann ich nicht herausfinden, wie man die Struktur richtig macht. Die Ausgabe geht den ganzen Weg zurück zum Wurzelelement, also bekomme ich ...] [... statt ...}, {.... zwischen den "Sni" Blöcken Wenn Sie Tipps haben, wie der Code könnte sei besser oder ein besserer Weg, um das Ergebnis zu erreichen, lass es mich bitte haben.
Sparen Sie es als eine Liste. Was erwartest du? – user3764893