使用 pymysql (Python) 在 MySQL 中导入多个列表
Import multiple lists in MySQL using pymysql (Python)
我正在尝试使用 pymysql 库在 MySQL 中一次插入多个列表。我尝试了以下方法:
import pymysql
db = pymysql.connect(host="ipaddress", user="me", passwd="password", db="test")
cursor=db.cursor()
list1=[3.1, 4.5, 8.3]
list2=[1.2, 3.4, 5.2]
list3=[2.4, 6.5, 6.9]
cursor.executemany("insert into table (var1,var2,var3) values (%f, %f, %f)", [list1,list2,list3])
db.commit()
db.close()
但是我得到了错误。我做错了什么?我应该怎么做?
我找到问题所在了。解决方法如下:
cursor.executemany("insert into table (var1,var2,var3) values (%s, %s, %s)", [list1,list2,list3])
它应该是值(%s、%s、%s)而不是值(%f、%f、%f)。我已经测试过它并且有效。不幸的是无法解释为什么查询应该以这种方式编写,因为我正在使用数字列表而不是字符串。
我正在尝试使用 pymysql 库在 MySQL 中一次插入多个列表。我尝试了以下方法:
import pymysql
db = pymysql.connect(host="ipaddress", user="me", passwd="password", db="test")
cursor=db.cursor()
list1=[3.1, 4.5, 8.3]
list2=[1.2, 3.4, 5.2]
list3=[2.4, 6.5, 6.9]
cursor.executemany("insert into table (var1,var2,var3) values (%f, %f, %f)", [list1,list2,list3])
db.commit()
db.close()
但是我得到了错误。我做错了什么?我应该怎么做?
我找到问题所在了。解决方法如下:
cursor.executemany("insert into table (var1,var2,var3) values (%s, %s, %s)", [list1,list2,list3])
它应该是值(%s、%s、%s)而不是值(%f、%f、%f)。我已经测试过它并且有效。不幸的是无法解释为什么查询应该以这种方式编写,因为我正在使用数字列表而不是字符串。