eu tentei seu código e funciona bem
import psycopg2
conn = psycopg2.connect("host= 127.0.0.1 dbname=testdb user=postgres password=postgres")
print("Connecting to Database")
cur = conn.cursor()
'''cur.execute("""CREATE TABLE abstable1(
absid varchar(10) PRIMARY KEY,
name integer,
number integer
)
""")'''
with open('lolo.csv', 'r') as f:
next(f)
cur.copy_from(f, 'abstable1', sep=',', columns=('absid', 'name', 'number'))
conn.commit()
conn.close()
embora eu tenha que fazer algumas alterações para funcionar:eu tive que nomear a tabela abstable1 porque usar abs.abstable1 postgres assume que estou usando o esquema abs , talvez você tenha criado esse esquema em seu banco de dados, se não verificar isso, também estou usando o python 3.7, notei que você está usando o python 2.7 (que acho que não é mais suportado), isso pode causar problemas, já que você diz que está aprendendo, eu recomendaria que você usasse o python 3, pois ele é mais usado agora e você provavelmente encontrará código escrito nele e teria que adaptar seu código para se adequar ao seu python 2.7