2017-09-27 1 views
0

J'utilise python 3.6, psycopg2 pour insérer des données dans une base de données postgresql (9.6). Voici mon code:Comment utiliser psycopg2 pour insérer une liste de listes

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) 

Lorsque ceci est exécuté, l'erreur suivante est générée: IndexError: indice de liste hors limites.

Si je raccourcir la liste à une seule entrée le programme exécute, à savoir:

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

mais la liste réelle aura des milliers de listes de la liste. Toute aide est grandement appréciée. Merci.

Répondre