Python:错误将数据从CSV导入Postgres(错误:整数的输入语法无效:)

时间:2017-07-03 14:12:36

标签: python postgresql python-3.x csv

我编写了一段Python代码,应该将CSV数据复制到我创建的用于托管数据的表中。这是代码:

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是自动生成的,我不知道如何在我的代码中解决这个问题。

1 个答案:

答案 0 :(得分:1)