gpt4 book ai didi

python-3.x - 将 sqlite 与 python 一起使用,fetchall()

转载 作者:行者123 更新时间:2023-12-03 05:07:26 25 4
gpt4 key购买 nike

我正在尝试将链接列表与存储在 sqlite 数据库中的点赞进行比较。

假设数据库中的链接是:

link.com\page1

link.com\page2

link.com\page3

我编写了以下代码来检查数据库中是否存在给定链接,如果不存在则添加它。

links = ['link.com\page2', 'link.com\page4']
c.execute('SELECT link FROM ads')
previouslinks = c.fetchall()

for l in links:
if l not in previouslinks:
c.execute('''INSERT INTO ads(link) VALUES(?)''', (l))
conn.commit()
else:
pass

问题是即使链接位于数据库中,脚本也无法识别它!

当我尝试打印 previouslinks 变量时,结果如下所示:

[('link.com\page1',), ('link.com\page2',), ('link.com\page3',)]

我认为问题出在额外的括号和逗号上,但我不太确定。

最佳答案

fetchall() 返回行列表,其中每行都是包含所有列值的元组。包含字符串的元组与字符串不同。

您必须从行中提取值(并且在迭代游标时不需要 fetchall()):

previouslinks = [row[0] for row in c]

关于python-3.x - 将 sqlite 与 python 一起使用,fetchall(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47726543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com