如何在python中使用某种格式轻松地连接列表中的字符串?

时间:2014-04-09 04:50:28

标签: python string mysql-python

我使用MySQLdb插入数据库,我的代码看起来与此类似:

db = MySQLdb.connect(host="111.111.111.111", port=3306,user="dba",passwd="somepass",db="somedb")
cursor = db.cursor()
cursor.execute("""
                    INSERT IGNORE INTO a (id,name) VALUES ('b', """+'diego' + """)""")

但随着更多字段和值的添加,它变得越来越麻烦。我必须连接字符串并且明确地输入。

如何从两个字段和值列表中打印execute字符串参数?

我想要的例子是:

fields = ['id','name']
values = ['b','diego']

1 个答案:

答案 0 :(得分:1)

fields = ['id', 'name', 'row3', 'row4']
values = ['b', 'diego', 3, 4]

fields_str = (", ").join([x for x in fields])
values_str = (", ").join([("'" + str(x) + "'") for x in values])

cursor.execute("INSERT IGNORE INTO a (" + fields_str + ") VALUES (" + values_str + ")")

打印连接字符串的值为我返回:

INSERT IGNORE INTO a (id, name, row3, row4) VALUES ('b', 'diego', '3', '4')