sql-server - 将一些 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
。
我该如何解决这个错误?还是有其他方法可以执行此任务?
解决方案
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()
您可以在此处阅读有关游标的更多信息
推荐阅读
- coding-style - 如果camelCase的第一个单词,首字母缩写词是否应该在camelcase中大写?
- jquery - 从 url 输入预览图像
- c# - 如何将gridview中选定行的数据传输到另一个aspx页面到asp控件中?
- django - 如何使用从模板到另一个模板的任何主键进入详细信息视图?
- vba - 如何在 MS Access VBA 中获取 MSForms.DataObject 内容的大小
- solr - 在搜索字段时转义 Solr 查询中的特殊字符?
- python - 循环遍历由 csv 文件组成的目录以执行 python 代码
- scala - 从 Spark 将 HDFS 分区列表/检索为 Map(String,List(String))
- c - sprintf vs strcat 用于附加字符串
- amazon-web-services - 用于通过 REST API 从大量移动设备中捕获和存储设备信息的 AWS 服务