ich ein JSON-Objekt haben, die wie folgt lautet:JSON Formatierung durch Anhängen dict Werte zur Liste
{ "produktNr:"1234",
"artNr_01":"12",
"artNr_02":"23",
"artNr_03":"",
"artNr_04":"14",
"name_01":"abc",
"name_02":"der",
"test":"junk"
}
Ich möchte dies wie folgt in ein Wörterbuch konvertieren:
{ "produktNr:"1234", "artNr":["12","23","","14"], "name":["abc","der"], "test":"junk"}
Diese Umwandlung ist basierend auf einer gegebenen Sequenz, beispielsweise seq = ["artNr","name"]
. Daher wird der Inhalt der Sequenz in den Schlüsseln des Wörterbuchs gesucht und die Werte in einer Liste gesammelt.
Mein Versuch so weit:
tempDict = {}
for key,value in fmData.iteritems():
for seqval in seq:
if seqval in key:
if seqval in tempDict:
tempDict[seqval].append(value)
else:
x = []
x.append(value)
tempDict[seqval]=x
else:
tempDict[key] = value
ein paar Probleme Gesichter.
Die Liste der Werte sind nicht also bestellt,
"artNr":["","14","12","23"]
statt Werte von[_01,_02,_03,_04]
Die Elemente können nicht die Wörterbuchelemente in resultierenden nicht gelöscht werden kann aus dem Wörterbuch, da in der Schleife geknallt werden:
{"ProduktNr:" 1234 "," artNr ": [" 12 "," 23 "," "," 14 "]," artNr_01 ":" 12 "," artNr_02 ":" 23 "," artNr_03 ":" "," artNr_04 ":" 14 "," name ": [" abc "," der "]," name_01 ":" abc "," name_02 ":" der "," test ":" junk " }
Würde gerne verstehen, wie man damit umgeht, vor allem, wenn es einen pythonischen Weg gibt, um dieses Problem zu lösen.
Das ist absolut schön @desiato .. Vielen Dank. Ich habe sehr viel von diesem Code gelernt: mit Schlüsseln sortiert, re.search verwenden und kompilieren. – Mellkor