Ching Chong Ching Chong - 1 year ago 91
Python Question

Using INSERT with a PostgreSQL Database using Python

I am trying to insert data into a PostgreSQL database table using Python. I don't see any syntax errors but, for some reason, my data isn't getting inserted into the database.

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)

Answer Source

You have to commit the transaction.

conn.commit()

If there's no reason to think the transaction will fail, it's faster to commit after the for loop finishes.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download