Konvertieren Sie jedes Wörterbuch Wert auf utf-8 (Wörterbuch Verständnis?)

Habe ich ein Wörterbuch und ich will konvertieren Sie alle Werte auf utf-8. Das funktioniert auch, aber gibt es ein "mehr pythonic" Weg?

            for key in row.keys():
                row[key] = unicode(row[key]).encode("utf-8")

Für eine Liste, die ich tun konnte,

[unicode(s).encode("utf-8") for s in row]

aber ich bin nicht sicher, wie machen Sie das gleiche, was für Wörterbücher.

Diese unterscheidet sich von Python-Dictionary Comprehension, weil ich versuche nicht, um ein Wörterbuch zu erstellen, aus dem nichts, sondern aus einer bestehenden dictionary. Die Lösungen zu der verlinkten Frage nicht mir zeigen, wie man eine Schleife über die Schlüssel/Wert-Paare in das vorhandene Wörterbuch, um Sie zu ändern in neue k/v-Paare für das neue Wörterbuch. Die Antwort (bereits akzeptiert) unten zeigt, wie das zu tun, und ist viel klarer zu Lesen/verstehen für jemanden, der eine Aufgabe ähnlich wie mir, als die Antworten auf die verlinkten Verwandte Frage, die komplexer ist.

Ich bin beeindruckt, du hast es geschafft, den richtigen Satz (dictionary comprehension), aber nicht die Suche nach "python-dictionary comprehension"!
warum sind Sie konvertieren Sie Ihre Schlüssel auf utf-8? das klingt wie XY-problem
Mögliche Duplikate von Python-Dictionary Comprehension
Gefahr Robinson! unicode(row[key]) wird, verwenden Sie den system-Zeichensatz zu Dekodieren row[key]. Dies impliziert, dass row[key] ist bereits codiert, um einen bestimmten Zeichensatz. Weiter sollte man nicht codieren, bis Sie Ausgabe, die es irgendwo, in dem Fall erlauben, drucken, konvertieren oder schreiben Sie eine encoding-text-wrapper, wie io.open()
Ich fand die Liste Verständnis, und extrapoliert zum Wörterbuch begreifen, aber nicht finden, ein gutes Beispiel, wenn ich gegoogelt.

InformationsquelleAutor PurpleVermont | 2015-11-13

Schreibe einen Kommentar