Ich versuche, eine Reihe von Werten aus einem Python-Wörterbuch herauszufiltern. Basierend auf der Antwort hier gesehen: Filter dict to contain only certain keys. Ich tue so etwas wie:Herausfiltern von Python-Dictionary-Werten mit einem Array verschachtelter Schlüssel
new = {k:data[k] for k in FIELDS if k in data}
Grundsätzlich erstellen Sie das new
Wörterbuch und kümmern sich nur um die in der FIELDS
Array aufgelistet Tasten. Mein Array sieht folgendermaßen aus:
FIELDS = ["timestamp", "unqiueID",etc...]
Wie kann ich dies tun, wenn der Schlüssel verschachtelt ist? I.E. ['user']['color']
?
Wie füge ich einen verschachtelten Schlüssel zu diesem Array hinzu? Ich habe versucht: [user][color]
, ['user']['color']
, 'user]['color
, und keiner von ihnen ist richtig :) Viele der Werte, die ich brauche, sind verschachtelte Felder. Wie kann ich einen verschachtelten Schlüssel zu diesem Array hinzufügen und immer noch das Bit new = {k:data[k] for k in FIELDS if k in data}
arbeiten lassen?
haben sie alle die gleiche "Tiefe" haben? –
Nein einige sind nur eine tiefe und andere 2 oder 3 tief. @ WillemVanOnsem – HectorOfTroy407
Beginnen Sie mit der Verflachung Ihres Wörterbuchs und Komprimieren der Tasten http://StackOverflow.com/Questions/6027558/Flatten-Nested-Python-Dictionaries-Compressing-Tasten. Wählen Sie dann die Schlüssel aus, die _enthalten_ eines der 'FIELDS' -Tags enthalten. – DyZ