dictonary

Max M maxm at mxm.dk
Wed Mar 13 06:29:04 EST 2002


Gerhard Häring wrote:


>>db = _mysql.connect()
>>string = {
>>	hello:'wow', 
>>	something:'nothing',
>>	nothing : 'something',
>>	number : 5,
>>	name : 'daniel'}
>>
> This is one way to do it, I bet there's a better one:
> 
> dict = {'name': 'Andy', 'age': 39}
> 
> columns = ",".join(dict.keys())
> # I hope using only %s works for MySQLdb. It does work like this for pyPgSQL.
> placeholders = ",".join(['%(' + k + ')s' for k in dict.keys()])
> sql = "insert into table(" + columns + ") values (" + placeholders + ")"

A bit more readable perhaps?

keys = dict.keys()
vals = dict.vals()
sql = "insert into table(%s) values (%s)" % (
     ','.join(keys),
     ','.join(list(len(keys)*'?'))
)
cursor.execute(sql, vals)



regards Max M





More information about the Python-list mailing list