将Python列表插入Mysql时出错
有一个示例Python列表,如下所示:将Python列表插入Mysql时出错,python,mysql,Python,Mysql,有一个示例Python列表,如下所示: data = [ ('Jane','dffd','sdas','sdas'), ('Jane','dffd','sdas','sdas'), ('Jane','dffd','sdas','sdas') ] import MySQLdb as my db = my.connect() cursor = db.cursor() data = [ ('Jane','dffd','sdas','sdas'), ('Jane','dffd','sdas','
data = [
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas')
]
import MySQLdb as my
db = my.connect()
cursor = db.cursor()
data = [
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas')
]
ddt = str(data)
cursor.executemany('INSERT into test VALUES(%s, %s, %s,%s)' % ddt)
db.commit()
db.close()
尝试将此列表插入到表名为“test”的My Sql数据库中,如下所示:
data = [
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas')
]
import MySQLdb as my
db = my.connect()
cursor = db.cursor()
data = [
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas')
]
ddt = str(data)
cursor.executemany('INSERT into test VALUES(%s, %s, %s,%s)' % ddt)
db.commit()
db.close()
获取一个错误,说明:
not enough arguments for format string
表包含4列:test1、test2、test3、test4。我知道我在某个地方犯了一个愚蠢的错误,但似乎找不到它。试试这个:
cursor.executemany('INSERT into test VALUES(%s, %s, %s,%s)',data)
或
完整代码可以是以下类型::
import MySQLdb
import MySQLdb.cursors
encoding = "utf8mb4"
db = MySQLdb.connect(
host='',
user='',
passwd='',
db='',
compress=1,
port=,
charset='utf8mb4',
use_unicode=True,
)
cursor = db.cursor()
data = [
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas'),
('Jane','dffd','sdas','sdas')
]
sql = "INSERT INTO test VALUES %s;" %(str(tuple(data)).replace('((','(').replace('))',')'))
print(sql) // you can print the sql query and verify to insert data on test mysqlworkbech for confirm data structure is
cursor.execute(sql)
db.commit()
db.close()
str(数据)
不会做你认为它会做的事。改用cursor.executemany(“插入…”),data)
。另请参见为什么在“数据”后面加逗号?TypeError:executemany()只需要3个参数(给定2个)就可以将元组与,
和“,”连接起来,得到这个:TypeError:executemany()只需要3个参数(给定2个)相同的错误:TypeError:executemany()只需要3个参数(给定2个)谢谢,尽管将数据转换为元组是必要的,我不明白那部分。