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

Fehler beim Importieren von CSV nach Postgres mit Python und psycopg2

Versuchen Sie es mit 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()

Sie müssen die Datei in Python öffnen und übergeben Sie es an psycopg, das es dann an die stdin von postgres weiterleitet. Da Sie die CSV verwenden Argument für COPY , müssen Sie die Expertenversion verwenden, in der Sie die COPY-Anweisung selbst übergeben.