从 CSV 复制到 SQL 时数据丢失

Loss of data while copying from CSV to SQL

我正在使用 Vertica Python 将数据从 csv 文件复制到 Vertica 上的 table。虽然它工作得非常快,但我丢失了大约 700 行数据。我试图删除 csv 文件并从新的 csv 文件加载,但我遇到了同样的问题。有人能告诉我我的代码哪里做错了吗?

with open('new.csv', 'r',encoding="utf8") as file:
    csv_file = file.read()
    copy_cmd = "COPY Account FROM STDIN DELIMITER ','"
    cur.copy(copy_cmd, csv_file)
    connection.commit()

是不是代码中的某些东西让我从 csv 文件中丢失了数百行?

您可以使用 REJECTED DATA 和 EXCEPTIONS 找出缺少的行及其原因。您需要为每个指定一个路径。被拒绝的数据将显示哪些行未被复制,异常显示错误是什么。

COPY Account FROM STDIN DELIMITER ',' REJECTED DATA '/path/to/rejections.txt' EXCEPTIONS '/path/to/exceptions.txt';