首页 > 解决方案 > 将一些 Python 列表插入 SQL Server 数据库

问题描述

我正在尝试将一些列表插入到 SQL Server 数据库中。

到目前为止,我已经尝试过:

trdcode = trdcode[1:]
ltp = ltp[1:]
high = high[1:]

datatable = [tuple(trdcode),tuple(ltp),tuple(high)]
query = "INSERT INTO test (TRADINGCODE, LTP, HIGH) VALUES (?, ?, ?)"
cursor.execute(query, datatable)
connection.commit()

但我收到一个错误:

在此处输入图像描述

SQL Server 中这些列的数据类型是VARCHAR,列表元素是str

我该如何解决这个错误?还是有其他方法可以执行此任务?

标签: sql-serverpython-3.x

解决方案


cur.execute 方法不会遍历值列表,您应该尝试使用 cur.executemany()。

所以第一步是构建一个元组列表。每个元组将是要输入数据库的一行:

rows = [(trdcode[i], ltp[i], high[i]) for i in range(0, len(ltp))]

然后将此列表传递给 cursor.executemany 方法:

cursor.executemany(query, rows)
connection.commit()

您可以在此处阅读有关游标的更多信息


推荐阅读