4

我正在尝试编写一个简单的函数来从 python 字典更新 MySQL 表:

data = {'foo':1, 'bar':2}
table = 'mytable'
pk = 'mypk'
pk_value = 1

sql = ''
sql += 'UPDATE ' + table
sql += 'SET ' + convert_dict_to_str(data)
sql += 'WHERE ' + pk
sql += ' = ' + pk_value
sql += ';'


def convert_dict_to_str(data):
    result = ''
    for key in data:
        result += "{key} = {value}".format(key=key, value=data[key])   
    return result

print convert_dict_to_str(data)

但我陷入了如何将 dict 转换为"key = value, key = value"? 在我的示例中,所需的输出应该是:

 'foo = 1, bar = 2'
4

1 回答 1

15

像这样的东西?

>>> ", ".join(["=".join([key, str(val)]) for key, val in data.items()])
'foo=1, bar=2'
于 2013-07-26T18:01:23.573 回答