【发布时间】:2021-02-28 13:00:03
【问题描述】:
我正在尝试执行删除语句来检查表是否有任何 SKU 存在于数据框的 SKU 列中。如果是这样,它会删除该行。由于我使用 for 语句来遍历行并检查,运行程序需要很长时间才能处理 6000 行数据。
我使用了 executemany(),因为它比对 delete 语句使用 for 循环更快,但我发现很难找到检查数据框中值的替代方法。
sname = input("Enter name: ")
cursor = mydb.cursor(prepared=True)
column = df["SKU"]
data=list([(sname, x) for x in column])
query="""DELETE FROM price_calculations1 WHERE Name=%s AND SKU=%s"""
cursor.executemany(query,data)
mydb.commit()
cursor.close()
是否有更有效的代码来实现相同的目标?
【问题讨论】:
标签: python pymysql executemany