类型错误:在我的 sql 查询脚本中' Float object not Iterable'



我知道有人问过这个问题,但我找不到问题的答案

我有一个数据类型列表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'

这可能是因为executemany()期望最后有一个可迭代的参数,而不是一个离散的元素。尝试:

cursor.executemany('INSERT INTO abc (five) VALUES (%f,%f,%f)',
[(item, item, item) for item in fiveMin])

你会插入每个项目三次(没什么意义,但我可以在没有上下文的情况下告诉你的最好的)

如果只想插入单个值,则调用将使用(item,)作为参数,因此从离散元素构建元组。


编辑:我更新了我的答案以显示executemany方法的正确用法。在这里,我使用列表推导来创建您的插入语句所需的参数,并更新了插入语句,使其采用浮点格式参数。

相关内容

最新更新