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

Psycopg2 copy_from genera DataError:sintassi di input non valida per intero

Ho finito per usare il comando copy_expert. Nota che su Windows, devi impostare l'autorizzazione del file. Questo post è molto utile per impostare i permessi .

with open(the_file, 'r') as f:            
        sql_copy_statement = "copy {table} FROM '"'{from_file}'"' DELIMITER '"'{deli}'"' {file_type} HEADER;".format(table = the_table,
                                                                                                                     from_file = the_file,
                                                                                                                     deli = the_delimiter,
                                                                                                                     file_type = the_file_type                                                                                                                                         
                                                                                                                    )
        print sql_copy_statement
        cur.copy_expert(sql_copy_statement, f)
        conn.commit()