2017-07-03 7 views
1

私はデータをホストするために作成したテーブルにCSVデータをコピーする必要があるPythonコードを書いています。ここでは、コードは次のようになります。Python:Error CSVからPostgresへのデータのインポート(ERROR:整数の入力構文が無効です)

def sql_copy_command(csv_file, schema, database, table, delimiter = ',', header = True): 
    if header: 
     sql_command = """COPY "{schema}_{tbl}" FROM '{the_csv_file}' DELIMITER '{dlm}' CSV HEADER;""".format(the_csv_file = csv_file, db = database, tbl = table, dlm = delimiter, schema = schema) 

    else: 
     sql_command = """COPY "{schema}_{tbl}" FROM '{the_csv_file}' DELIMITER '{dlm}' CSV;""".format(the_csv_file = csv_file, db = database, tbl = table, dlm = delimiter, schema = schema) 

    return sql_command 

これは、次のエラーがスローされます。

DataError: invalid input syntax for integer: "Visa" 
CONTEXT: COPY insight_transaction, line 2, column id: "Visa" 

代わりに私のモデルの最初のフィールドであるACCOUNT_TYPE、の、Postgresは、IDを見ることを想定しているように思えますこれは表の最初の列です。 IDが自動的に生成されるので、私は自分のコードでこれをどう対処するのか分かりません。

答えて

関連する問題