PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Psycopg2 copy_from lance DataError :syntaxe d'entrée non valide pour l'entier

J'ai fini par utiliser la commande copy_expert. Notez que sous Windows, vous devez définir l'autorisation du fichier. Ce message est très utile pour définir l'autorisation .

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