Ich habe eine Tabelle mit Spalten FIRSTNAME LASTNAME und ich möchte eine dritte Spalte erstellen, die diese beiden Spalten in FIRSTNAME_LASTNAME kombiniert, aber ALSO verwendet ein spezielles Wörterbuch, um einige der Namen zu konvertieren. Sagen, dass ich es nur auf den VORNAMEN anwenden möge, z.B .:Postgres - Verwenden Sie ein Wörterbuch, um Spaltennamen zu konvertieren?
Albert -> Funnyguy, Kathleen -> Nerd, Megan -> Weirdo
So würde die neue Spalte für die „Albert Jones“ Reihe „Funnyguy_Jones“ sein.
Derzeit mache ich dies in psycopg2 durch Lesen in allen Zeilen (in Stapeln, weil die db ist riesig), mit einem Python-Wörterbuch zu konvertieren und erstellen Sie die neue Spalte, dann die Updates mit UPDATE table SET newcol = tmp.newcol FROM (VALUES ...)
usw. Das ist sehr langsam, weil es in Python gelesen wird. Irgendwelche Tipps?
EDIT: nicht alle Namen haben Umwandlungen (nur wie 10% von ihnen tun, für die ich den ursprünglichen Namen behalten wollen)
das spezielle Wörterbuch ist auch eine Tabelle? –
@JuanCarlosOropeza Ich könnte es als eins einrichten, wenn das einfacher ist. Sagen Sie, VORNAME NEWNAME als die Spalten. – cgreen