我使用以下python代码在MySQL表中插入4个条目。database
for i,row in empdata.iterrows():
sql = "INSERT INTO products VALUES (%s,%s,%s,%s)"
cursor.execute(sql, tuple(row))
如果我有20列,我不想在VALUES后面写20 times %s。另一种情况是30个值。有没有别的写法?
您可以使用字符串Python乘数运算符来优化此任务,在本例中为n
,即需要包含在字符串中的元素数量:
n = 20
sql = "INSERT INTO products VALUES (" + ("%s, "*n)[:-2] + ")"
print(sql)
输出:
INSERT INTO products VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)