PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wert Fehler beim Importieren von Daten in die Postgres-Tabelle mit psycopg2

Schauen Sie sich die Dokumentation an:

Der Variablenplatzhalter muss immer ein %s sein , auch wenn ein anderer Platzhalter (wie ein %d für ganze Zahlen oder %f für Floats) könnte passender aussehen:

>>> cur.execute("INSERT INTO numbers VALUES (%d)", (42,)) # WRONG
>>> cur.execute("INSERT INTO numbers VALUES (%s)", (42,)) # correct

Während Ihre SQL-Abfrage alle Arten von Platzhaltern enthält:

"""INSERT INTO weather_data(temperature,humidity,wind,barometer,updated_on,place_id) 
   VALUES (%(temperature)f, %(humidity)f, %(wind)f, %(barometer)f, %(date)s, %(place_id)d)"""