当我尝试插入使用列表压缩生成的元组列表时,executemany会抛出错误,但如果插入相同的列表(如果它是硬编码),则工作正常。当我尝试:当我尝试插入由列表理解生成的元组列表时,executemany会抛出错误;如果它是硬编码的,相同的列表将起作用
a=[(i[0][0],i[0][1],i[0][2],i[1][0],i[1][1],i[0][5]) for i in zipList_updates]
c.executemany('INSERT INTO Households VALUES(?,?,?,?,?,?)',a)
我得到:InterfaceError:错误绑定参数4 - 可能不支持的类型。
但是,当我硬编码的值列表:
b=[('1000000US371830501001017', 'White', 2, '150-200K', 184, 'Renter'),\
('1000000US371830501001017', 'Asian', 2, '125-150K', 250, 'Renter')]
,并尝试:
c.executemany('INSERT INTO Households VALUES(?,?,?,?,?,?)',b)
它工作正常。当我检查一个== b时,我变成了True。
我不明白它是如何可能的,因为a和b似乎是同一件事情。
你检查过'a'和'b'确实是否一样吗?尝试打印'a'的值。 – 9000
是的,我做到了。我打印的值是相同的,正如我所说的,a == b返回True。 –