sql >> Base de Datos >  >> RDS >> PostgreSQL

Error de valor al importar datos en la tabla de postgres usando psycopg2

Echa un vistazo a la documentación:

El marcador de posición de las variables siempre debe ser un %s , incluso si un marcador de posición diferente (como un %d para enteros o %f para flotadores) puede parecer más apropiado:

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

Mientras que su consulta SQL contiene todo tipo de marcadores de posición:

"""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)"""