如何使用psycopg2插入列表列表

问题描述 投票:0回答:1

我正在使用 python 3.6、psycopg2 将数据插入 postgresql (9.6) 数据库。这是我的代码:

def postgre_save():
    params = Config()
    with psycopg2.connect(**params) as conn:
        cur = conn.cursor()
        lst2 = []
        lst2.append([9999, datetime.date(2017, 5, 1), 0.99, 1, 3])
        lst2.append([9999, datetime.date(2017, 6, 1), 1.2, 1, 3])
        qry = 'INSERT INTO oww.welldep(well_id, dep_date, depletion, reach, type) VALUES (%s, %s, %s, %s, %s);'
        cur.execute(qry, lst2)

执行此操作时,我收到以下错误:IndexError:列表索引超出范围。

如果我将列表缩短为程序执行的单个条目,即:

lst2 = [9999, datetime.date(2017, 5, 1), 0.99, 1, 3]

但真实的列表中会有数千个列表。任何帮助是极大的赞赏。谢谢。

python postgresql python-3.x psycopg2
1个回答
1
投票

使用

cur.executemany(qry, lst2)

请参阅文档:https://www.psycopg.org/docs/cursor.html

© www.soinside.com 2019 - 2024. All rights reserved.