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 price = item info = item query = "INSERT INTO items (info, city, price) VALUES (%s, %s, %s);" data = (info, city, price) cursor.execute(query, data)
You have to commit the transaction.
If there's no reason to think the transaction will fail, it's faster to commit after the for loop finishes.