【发布时间】:2017-07-16 01:26:29
【问题描述】:
我有一个包含以下列和 1000 行的 sqlite 数据库
con.execute('CREATE TABLE "table" (Fruit TEXT, Texture TEXT, Code TEXT, Buy TEXT )'
我想将pandas.Dataframe 与此table 进行比较,如果sqlite "Code" 列中的值不在df['Code'] 中,则将sqlite "Buy" 更新为“是的”。
最初我尝试使用以下代码查看是否可以从df['Code'] 获取所有结果以打印它是否存在,然后我可以将NOT 添加到sqlite query 以翻转结果,但是目前,下面的代码打印出 1000 行空列表,偶尔会打印出一些 Code 代替...
for each_code in df['Code']:
z = con.execute('SELECT EXISTS(SELECT 1 FROM "table" WHERE Code IN ({c}))'
.format(c=each_code)).fetchall()
print(z)
不确定我的错误在哪里?我想在数据库级别执行此操作,因为它可能会更快。
【问题讨论】: