我知道有人问过这个问题,但我找不到问题的答案
我有一个名为float的数据类型fiveMin列表。
[10.0, 13.0, ....... 34.0, 22.0]总共约有72个元素
我希望将它们加载到mysql表中的列中。
for item in fiveMin:
cursor.executemany('INSERT INTO abc (five) VALUES (?,?,?)', item)我的连接正常,但是当脚本执行查询时,我得到
TypeError: 'Float object not Iterable'
发布于 2017-03-24 14:03:23
这很可能是因为 expects an iterable argument在末尾而不是一个离散元素。试着:
cursor.executemany('INSERT INTO abc (five) VALUES (%f,%f,%f)',
[(item, item, item) for item in fiveMin])你会把每一项插入三次(没什么意义,但我能告诉你的最好不过是没有上下文)
如果只想插入一个值,则调用将使用(item,)作为参数,因此您可以从一个离散元素构建一个元组。
编辑:我更新了我的答案,以显示executemany方法的正确用法。在这里,我使用一个列表理解来创建insert语句所期望的参数,并更新了insert语句,因此它采用了一个浮点格式参数。
https://stackoverflow.com/questions/43001403
复制相似问题