我构建了一个刮板,该刮板保存到.csv文件,现在正尝试使用IF语句将该.csv文件中的行保存到sqlite3数据库中,但无法正常工作。我尝试过用多种方法设置值的格式,但是一无所获。
每当IF语句为True时都会打印“匹配”,但是该行不会添加到sqlite数据库中。调用cur.fetchall()/ one()/ etc会导致返回“ None”。
db = sqlite3.connect(':memory:')
cur = db.cursor()
cur.execute("DROP TABLE IF EXISTS jobs_table")
cur.execute('''CREATE TABLE IF NOT EXISTS
jobs_table(id TEXT,
date TEXT,
company TEXT,
position TEXT,
tags TEXT,
description TEXT,
url TEXT)''')
skills = ('python')
for row in csv_data:
if skills in row.get('description').lower():
print('')
print('Match!')
cur.execute("INSERT INTO jobs_table(id,
date,
company,
position,
tags,
description,
url) VALUES(:id,
:epoch,
:date,
:company,
:position,
:tags,
:description,
:url)", row)
我认为问题出在我的cur.execute()函数中,但我不知道应该如何运行它。有参加者吗?
答案 0 :(得分:2)
如果您是在override fun onClick(clicked:View){
/* some operation (e.g your log)*/
/* the regular onClick functionality */
}
正常之后立即致电cur.fetchone()
来获得cur.execute()
(或None
代表[]
)。您需要先执行查询才能获得结果,例如cur.fetchall()
。