44 votes

Utiliser INSERT avec une base de données PostgreSQL en utilisant Python

J'essaie d'insérer des données dans une table de base de données PostgreSQL à l'aide de Python. Je ne vois aucune erreur de syntaxe mais, pour une raison quelconque, mes données ne sont pas insérées dans la base de données.

 conn = psycopg2.connect(connection)
cursor = conn.cursor()
items = pickle.load(open(pickle_file,"rb"))

for item in items:
    city = item[0]
    price = item[1]
    info = item[2]

    query =  "INSERT INTO items (info, city, price) VALUES (%s, %s, %s);"
    data = (info, city, price)

    cursor.execute(query, data)

52voto

GuillaumeDufay Points 317

Vous devez valider la transaction.

 conn.commit()

S'il n'y a aucune raison de penser que la transaction échouera, il est plus rapide de valider une fois la boucle for terminée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X