2016-03-25 6 views
1

Ich habe einige Strings mit ungewöhnlich benannte Parameter mit SQL-Code:Subtitue benannte Variablen mit Semikolon in Python 2.7

select :param1, :param2 from my_table 

und Wörterbuch:

{'param1': 'val1', 'param2': 'val2'} 

ich dies für Remote-Ausführung Senden und Ich möchte Anforderung in ausführbarem Formular protokollieren:

select val1, val2 from my_table 

Gibt es eine einfache Möglichkeit, diese Ersetzung in Pyth durchzuführen auf 2,7?

+0

Können Sie ein wenig mehr klären? Fragen Sie, wie Sie einen Wert aus einem Wörterbuch erhalten können? oder um Werte in einem String zu ersetzen? –

Antwort

1

Iterate über das Wörterbuch und ersetzen Sie den Schlüssel mit dem Wert:

s = 'select :param1, :param2 from my_table' 

d = {'param1': 'val1', 'param2': 'val2'} 

for k, v in d.items(): 
    s = s.replace(':'+k, v) 

In Python 2.7 Sie iteritems() verwenden anstelle von items().

+0

Nun, ich schäme mich, dass ich nicht darüber nachgedacht habe =) Danke vielmals! – Rabodaber