Python 2.7和sqlite3
我创建一个这样的表:
#create table
connector.execute('''CREATE TABLE mytable (
column1,
column2,
column3
''')
然后我迭代一个 .csv
文件,如下所示:
with open("mycsv.csv") as f:
for i in f:
del splitted[:]
del myData[:]
splitted = i.split(",")
for j in splitted:
myData.append(tuple([j]))
这给了我这个输出:
print myData
> [('testtext1',), ('testtext2',), ('testtext3\n',)]
但是,当我尝试将此插入我的_1419127中时,如此:
connector.executemany('''INSERT INTO mytable (
column1,
column2,
column3
) VALUES (
?,?,?)''', myData)
我收到了错误
sqlite3.programmingerror提供的绑定数量不正确 . 当前状态使用3,并且tehre是1 .
1 回答
你拥有的是3个元组的列表,每个元组包含1个列 .
您希望所有3列都构成1元组的内容 . 然后,您要将该元组添加到列表中 . 尝试这样的事情:
输出:
输入: