我正在尝试将数据从 xlsx 文件插入到 mysqdl 表中。我想在表中插入数据,如果主键有重复项,我想更新现有数据,否则插入。我已经编写了脚本,但我意识到它的工作量太大,使用 pandas 很快。我怎样才能在熊猫中实现它?
#!/usr/bin/env python3
import pandas as pd
import sqlalchemy
engine_str = 'mysql+pymysql://admin:mypass@localhost/mydb'
engine = sqlalchemy.create_engine(engine_str, echo=False, encoding='utf-8')\
file_name = "tmp/results.xlsx"
df = pd.read_excel(file_name)
原文由 r0xette 发布,翻译遵循 CC BY-SA 4.0 许可协议
我可以想到两个选项,但 1 号可能更清洁/更快:
i=1
到n
。在插入循环中,您可以编写如下内容:python
返回True
或False
--- 的函数,当记录存在时,然后在循环中使用它:您可以遍历行并在插入之前进行此检查
另请检查 此问题中的解决方案 以及 可能适用于您的情况的解决方案。