python - Pandas to_sql 在重复的主键上失败

标签 python mysql pandas

我想附加到现有表,使用 pandas df.to_sql() 函数。

我设置了 if_exists='append',但我的表有主键。

我想在尝试append 到现有表时执行与insert ignore 等效的操作,这样我就可以避免重复输入错误。

这对 pandas 可行吗,还是我需要编写一个显式查询?

最佳答案

很遗憾,没有指定“INSERT IGNORE”的选项。这就是我绕过该限制的方法,将不重复的行插入到该数据库中(数据框名称为 df)

for i in range(len(df)):
    try:
        df.iloc[i:i+1].to_sql(name="Table_Name",if_exists='append',con = Engine)
    except IntegrityError:
        pass #or any other action

关于python - Pandas to_sql 在重复的主键上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30337394/

相关文章:

python - 今年的最后一周归因于下一年

python - 为什么这个字典给我一个语法错误?

python - 在 PyPy 下运行 Django 的缺点?

python - 如何使用 OpenCV 将框架颜色更改为与显示相同?

python - python初始条件中的快速排序算法

javascript - 使用 Angular 更改按钮 "status"?

mysql插入查询有外部约束错误(表正常)

mysql - sql查询相同id但不同值的总和?

python - 如何用该特定时间值的平均值填充 Nan 值?

python - 将列添加到没有标题的 Pandas