使用多个python列表更新SQLITE DB

时间:2018-01-31 19:25:58

标签: python sqlite

我正在尝试使用2个python列表更新我的sqlite数据库。我有一个带有三个字段的sqlite数据库。姓名,号码,日期。我还有三个名字相似的python列表。我正试图找出一种方法来更新我的sqlite数据库与这两个列表中的数据。我可以创建db,甚至可以填充单个列,但我似乎无法正确更新它或根本没有。有没有办法同时INSERT两个列表?而不是INSERT单个列然后UPDATE db与另一个?

这是我到目前为止所做的:

name_list = []

number_list = []

date = now.date()
strDate = date.strftime("%B %Y")

tableName = strDate

sqlTable = 'CREATE TABLE IF NOT EXISTS ' + tableName + '(name text, number integer, date text)'

c.execute(sqlTable)

conn.commit()

for i in name_list:
    c.execute('INSERT INTO January2018(names) VALUES (?)', [i])
    conn.commit()

我似乎无法超越这一点。我仍然需要添加另一个数据列表(number_list)并将日期附加到每一行。

以下是我的内容:

for i in number_list:
    c.execute('UPDATE myTable SET number = ? WHERE name', [i])
    conn.commit()

非常感谢任何帮助。如果您需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以将executemanyzip

一起使用
c.executemany('INSERT INTO January2018 (name, number) VALUES (?, ?)', zip(name_list, number_list))
conn.commit()