我的列表如下:
L = [('a',1),('b',2),....]
我想将此元组传递给查询以进行批量插入。
sql = "INSERT INTO [plma].["+tablename+"] VALUES {}".format(L)
但是此qry将L视为[(),()]
,
在哪里正确执行此qry,它只需要(),()
所以我只想要那个列表中的元组L,如何传递它们?
答案 0 :(得分:2)
Stringify and strip:
sql = "INSERT INTO [plma].["+tablename+"] VALUES " + str(L).strip('[]')
答案 1 :(得分:0)
要将列表的元素连接到字符串,我会使用.join()
和列表理解,因为我发现它相当不错和pythonic:
values = ', '.join(str(e) for e in L)
sql = "INSERT INTO [plma].[{}] VALUES {}".format(tablename, values)
但是,正如已经指出的那样,可能有更好的方法来解决插入数据库的实际问题。