我的代码如下
inPath = 'D:\\maddy'
outPath = 'D:\\maddy\\corpora'
fileName = 'genrelist.txt'
with sqlite3.connect('database.db') as connection,open(os.path.join(inPath, fileName), "r") as inputFile:
myFileReader = csv.reader(inputFile)
c = connection.cursor()
for genre in myFileReader:
'''store output in files named after each genre'''
with open(os.path.join(outPath,'%s.txt' %genre[0]), "w") as outputFile:
my_file_writer = csv.writer(outputFile,delimiter=",",quotechar="'")
c.execute("SELECT Plot FROM Movies WHERE Genre LIKE '%genre%' " )
my_file_writer.writerows(c.fetchall())
这里的genrelist包含各种类型的名称,如
动作 冒险 犯罪 戏剧 。 。 。
当我尝试使用类型读取文件迭代循环时,我无法将此值传递给SELECT子句中的LIKE条件,因为它将其视为字符串而不是动态值变量。 / p>
请你帮我解决这个问题。
谢谢, 麦迪
答案 0 :(得分:0)
将变量传递给sql的方法是:
c.execute("SELECT Plot FROM Movies WHERE Genre LIKE ? ",('%'+genre+'%',) )