web-dev-qa-db-fra.com

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 en utilisant 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)
34
Ching Chong

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.

40
GuillaumeDufay