匹配python列表中的列值和值

时间:2015-03-23 21:08:46

标签: python sqlite

我想将所有包含在python列表中的ID的值复制到SQLite中的新表中,如下所示:

cur.execute("INSERT INTO newtable SELECT * FROM oldtable where userid IN " + userids)

Userids是一个来自文件的列表:

userids = [line.strip() for line in open('inputfile.txt')]

但是我收到以下错误: TypeError:无法连接' str'和'列出'对象

我越来越怀疑这个包含大约15000个元素的列表对查询来说太长了(?)。如果没有查询列表中的每个id,我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试类似:

以字符串形式加入列表。

userIdsStr = ', '.join(userids)

然后执行以下操作:

cur.execute('INSERT INTO newtable SELECT * FROM oldtable where userid IN (%s)' % userIdsStr)

我希望这会有所帮助