Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在列表中的python中查询SQLite 3_Python_Sqlite - Fatal编程技术网

如何在列表中的python中查询SQLite 3

如何在列表中的python中查询SQLite 3,python,sqlite,Python,Sqlite,当我运行这个时,我没有得到任何回报。但是如果在函数read_from_db()I中添加print(read_from_db_list)并将函数粘贴到脚本底部,它将打印列表中的所有对象 我只想能够查询数据库,并检查其中是否有某些关键字 注意:数据库中有7个“windows”匹配项 编辑:在函数中,我尝试了read\u from\u db\u list.append((行))和read\u from\u db\u list.append(行) 以下是我的数据库的外观: 您的代码无法工作,因为您通过执

当我运行这个时,我没有得到任何回报。但是如果在函数
read_from_db()
I中添加
print(read_from_db_list)
并将函数粘贴到脚本底部,它将打印列表中的所有对象

我只想能够查询数据库,并检查其中是否有某些关键字

注意:数据库中有7个“windows”匹配项

编辑:在函数中,我尝试了
read\u from\u db\u list.append((行))
read\u from\u db\u list.append(行)

以下是我的数据库的外观:


您的代码无法工作,因为您通过执行
从\u db\u list.append([row])
创建了一个包含列表的列表。很明显,中的
操作符在包含列表的列表中找不到字符串
windows
。另外,从
c.fetchall()
得到的结果是元组,因此必须首先展开它们才能检索列。替换

read\u from\u db\u list.append([行])

它会成功的。

请尝试以下代码:

read_from_db_list.append(row[0])

谢谢你的回复,当我运行代码时,我仍然得到一个空的结果。但是你确定吗,你刚刚更新了我提到的那行代码,同时没有更改代码块中的任何其他内容?还请注意我在
行[0]
周围删除的方括号。因为这对我来说很好,只要一个改变:/Yep肯定!我尝试重新粘贴我最初发布的代码。我会更新我的帖子,包括你的修改。我还将提供db/表格的屏幕截图,以防我遗漏了一些内容。嗨,博米,谢谢你的回复。我尝试了代码,但没有在屏幕上打印任何内容。在循环中,数据是元组,使用数据[0]而不是最后一行中的数据。有趣的是,这个解决方案正是我发布的,只是增加了几行:/此代码只是将每一行包装在一个列表中,只是为了在
read\u from\u db()
之外再次将其展开。当我复制您的确切代码(您现在根据我的建议进行了更改)时,它工作正常。一定还有别的东西破坏了你的代码。@Arno Nymous在你发布代码之前,我已经发布了这段代码。@BhoomiPatel不,我的代码大约提前了30秒,请仔细查看时间戳并计算一下。但这不是我想说的。我想指出的是,非常奇怪的是,OP在我的代码上没有成功,但在你的代码上却没有成功,尽管两者的作用完全相同。
read_from_db_list.append(row[0])
import feedparser
import re
import smtplib
import sqlite3
import time
from datetime import date

db = sqlite3.connect('nvd.db')
c = db.cursor()


def read_from_db():

    read_from_db_list = []
    c.execute('SELECT product_name FROM product')
    for row in c.fetchall():
        read_from_db_list.append([row])

    return read_from_db_list

for data in read_from_db():
    if 'windows' in data[0]:
        print('i have windows')