Python - 如何在SQL服务器上添加新列并插入列表行



我想从Python插入sql Server。这是我的代码:

for value in rows:
    cursor.execute ("""INSERT INTO Table ([ColumnOne]) VALUES (?)""", value)
cnxn.commit()

rows中,它包含行的列表(迭代),类似的东西:第1行包含浮点数的列表

1.0 2.0 1.5 1.75

.....(一行/列中总共有1000个值),Row2,Row3等也是如此。但是,当我尝试运行代码时,我有此错误

pyodbc.programmingerror :('SQL包含1个参数标记,但 提供了1000个参数','hy000')

有什么办法可以这样做,因此浮点值不会单独处理或解决此问题?我认为也许我应该使用','.join语句将其作为字符串?考虑到我不擅长解释python,如果我有一些错误,请纠正我。谢谢。

尝试在一个查询中插入多个表行时,您需要为每行提供一个值列表。

例如,以下查询将插入两个行:

INSERT INTO Table (ColumnOne) VALUES (1.0), (2.0);

因此,您的Python代码需要准备查询的正确VALUES部分:

for row in rows:
    values = ", ".join(("(?)",) * len(row))
    cursor.execute(f"INSERT INTO Table (ColumnOne) VALUES {values}", row)

最新更新