不使用循环将多行插入数据库

Insert multiple rows to database without using looping

我有以下 psql 查询将数据插入数据库

sql = ("INSERT INTO kart_user (custid,token,cycle,userid,proxyid,salesrepid,users,buyer,salesrep,validfrom,validto,discount,category,ratioOnly,proxy,notified) ""VALUES (%s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s, %s)")
result = self.cur.execute(sql,data)
self.dbconn.commit()
return result

现在,我面临的问题是,在某些情况下数据可能包含多个 rows.in 这种情况下我该如何重写我的代码。 注意:我不喜欢使用for循环进行数据迭代,请提出更好的方法来解决这个问题。

executemany() 会有所帮助:

result = self.cur.executemany(sql, data)

data 在这种情况下应该是列表列表或元组列表。