python - 从 CSV 复制到 SQL 时丢失数据

标签 python python-3.x vertica

我正在使用 Vertica Python 将数据从 csv 文件复制到 Vertica 上的表。虽然它运行得很快,但我丢失了大约 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';

关于python - 从 CSV 复制到 SQL 时丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54410326/

相关文章:

Django LDAP 与 OpenWisp Django-IPAM

sql - 这是什么类型的连接语法?

sql - Vertica SQL 在一条语句中插入多行

java - 如何在 Java 代码中连接来自不同数据库(MySql、Vertica)的两个表?

python - 部署在 Apache 上时,使用带有相对路径的 webpy 的 web.template.render()

python - 缓存条目反序列化失败,条目被忽略

python-3.x - 在 CVXPY 中广播

python - 尝试打印从 0 到 x 的范围,用单词替换偶数位,最后一位数字为 None

python - 通过 PySpark 连接到 Redshift,我们如何让驱动程序工作?

python - 如何通过 Python 中单个字典的键对一堆列表进行分组