首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正确使用psycopg2 execute_values()

正确使用psycopg2 execute_values()
EN

Stack Overflow用户
提问于 2021-09-30 15:48:20
回答 1查看 58关注 0票数 0

我在正确使用execute_values()选项时遇到问题。我得到一个“无法将记录插入到dist_crt_opins表中,而不是字符串格式化期间转换的所有参数”。

我的代码获取美国所有地区法院的数据,我已经为我正在抓取的项目创建了一个名为" data“的列表。以下是插入的相关代码:

代码语言:javascript
运行
复制
data = []
results = (court,case_title,issue_date,link,details)
print(results)
data.append(results)

for d in data:
    sql = '''INSERT INTO dist_crt_opins (court, case_title, issue_date, link, details) VALUES (%s),'''
    psycopg2.extras.execute_values(cursor,sql,d, template='(%s, %s, %s, %s, %s)', page_size=1000)
    conn.commit()

我已经用简单的逐行insert语句成功地插入了相同的数据,但是我正在寻找一种更快的方法,因为有大约100,000行要输入。

EN

回答 1

Stack Overflow用户

发布于 2021-09-30 21:45:38

好的,我不需要做for循环来遍历行。并且insert语句中存在错误。

代码语言:javascript
运行
复制
sql = '''INSERT INTO dist_crt_opins (court, case_title, issue_date, link, details) VALUES (%s),'''

should be no parentheses around the placeholder "%s":

sql = "INSERT INTO dist_crt_opins (court, case_title, issue_date, link, details) VALUES %s;"
psycopg2.extras.execute_values(cursor,sql,data,template=None, page_size=1000)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69395267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档