如何将多个列表插入到 sqlite 列中
How to insert several lists into sqlite column
我要将以下列表中的信息插入到 sqlite 列中:
a = [1, 2, 3]
b = ['MAR', 'PAR', 'ZAR']
c = [1000, 2000, 3000]
数据库的 AA 列应包含列表 a 中的信息,列 BB 应包含列表 b 中的信息,列 CC 应包含列表 c 中的信息。
这是我的代码:
import sqlite3
conn= sqlite3.connect('test.db')
c = conn.cursor()
def create_table ():
c.execute ('CREATE TABLE IF NOT EXISTS test (AA INT, BB TEXT, CC INT)')
print ("table was created")
create_table ()
a = [1, 2, 3]
b = ['MAR', 'PAR', 'ZAR']
c= [1000, 2000, 3000]
for i in range (len (a)):
I= a[i]
II= b[i]
III= c[i]
c.execute ("INSERT INTO TEST (AA, BB, CC) VALUES (?,?,?) ", I, II, III )
错误是这样的:
c.execute ("INSERT INTO TEST (AA, BB, CC) VALUES (?,?,?) ", I, II, III )
AttributeError: 'list' object has no attribute 'execute'
您已经隐藏了 c
变量。它不再引用打开的游标:
c = conn.cursor()
# ...
c = [1000, 2000, 3000]
这是拥有有意义的变量名的众多原因之一。如果您将光标命名为 cursor
:
,我怀疑您是否会犯此错误
cursor = conn.cursor()
另请注意,像 PyCharm 这样的现代 IDE 能够及早发现这些错误:
我要将以下列表中的信息插入到 sqlite 列中:
a = [1, 2, 3]
b = ['MAR', 'PAR', 'ZAR']
c = [1000, 2000, 3000]
数据库的 AA 列应包含列表 a 中的信息,列 BB 应包含列表 b 中的信息,列 CC 应包含列表 c 中的信息。
这是我的代码:
import sqlite3
conn= sqlite3.connect('test.db')
c = conn.cursor()
def create_table ():
c.execute ('CREATE TABLE IF NOT EXISTS test (AA INT, BB TEXT, CC INT)')
print ("table was created")
create_table ()
a = [1, 2, 3]
b = ['MAR', 'PAR', 'ZAR']
c= [1000, 2000, 3000]
for i in range (len (a)):
I= a[i]
II= b[i]
III= c[i]
c.execute ("INSERT INTO TEST (AA, BB, CC) VALUES (?,?,?) ", I, II, III )
错误是这样的:
c.execute ("INSERT INTO TEST (AA, BB, CC) VALUES (?,?,?) ", I, II, III )
AttributeError: 'list' object has no attribute 'execute'
您已经隐藏了 c
变量。它不再引用打开的游标:
c = conn.cursor()
# ...
c = [1000, 2000, 3000]
这是拥有有意义的变量名的众多原因之一。如果您将光标命名为 cursor
:
cursor = conn.cursor()
另请注意,像 PyCharm 这样的现代 IDE 能够及早发现这些错误: