将字典转换为字符串,并用逗号分隔每个键值对

时间:2013-07-26 17:58:22

标签: python mysql

我正在尝试编写一个简单的函数来从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'

1 个答案:

答案 0 :(得分:10)

这样的东西?

>>> ", ".join(["=".join([key, str(val)]) for key, val in data.items()])
'foo=1, bar=2'