PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Errore durante l'importazione di CSV in postgres con python e psycopg2

Prova a utilizzare cursor.copy_expert() :

constr = "dbname='db_name' user='user' host='localhost' password='pass'"
conn = psycopg2.connect(constr)
cur = conn.cursor()
sqlstr = "COPY test_2 FROM STDIN DELIMITER ',' CSV"
with open('/tmp/tmpJopiUG/downloaded_xls.csv') as f:
    cur.copy_expert(sqlstr, f)
conn.commit()

Devi aprire il file in python e passalo a psycopg, che poi lo inoltra allo stdin di postgres. Poiché stai utilizzando il CSV argomento in COPY , devi utilizzare la versione per esperti in cui trasmetti tu stesso l'istruzione COPY.