当我尝试插入使用列表压缩生成的元组列表时,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: Error binding parameter 4 - 可能是不受支持的类型。
但是当我将值列表硬编码为:
b=[('1000000US371830501001017', 'White', 2, '150-200K', 184, 'Renter'),\
('1000000US371830501001017', 'Asian', 2, '125-150K', 250, 'Renter')]
并尝试:
c.executemany('INSERT INTO Households VALUES(?,?,?,?,?,?)',b)
它工作正常。当我检查 a==b 时,我得到了 True。
我不明白怎么可能,因为 a 和 b 似乎是同一件事。