mysql插入CSV文件不能在python中工作



我试了很多次,在互联网上搜索,这仍然不适合我。我试图从csv文件读取,并插入数据与python数据库。这是我的代码,我不明白为什么它不工作

import mysql.connector
import csv
import pandas as pd
with open(r'filesfiles1.csv') as csv_file:
csvfile = csv.reader(csv_file, delimiter=';')
allvalues=[]
for row in csvfile:
value = (row[0],row[1],row[2])
allvalues.append(value)
print(allvalues)
db = mysql.connector.connect(
host = 'ip',
user = 'user',
passwd = 'pass',
database = 'db',
auth_plugin='mysql_native_password'
)
cursor = db.cursor()
query = "INSERT INTO table1 (col1, col2, col3) VALUES (%s , %s , %s)"
cursor.execute(query, allvalues)
db.commit()

这会产生以下错误:

result = self._cmysql.convert_to_mysql(*params)
_mysql_connector.MySQLInterfaceError: Python type tuple cannot be converted

我还想提一下,我已经尝试了许多其他的东西插入到表中,而不仅仅是上面的方法,每次我得到不同的错误。

谁能告诉我该怎么做?我真的很感激。

Thank you very much

usecursor.executemany(query, allvalues)

如果你有多个元素保存在一个列表或元组中,那么使用,

cursor.executemany(query, list)cursor.executemany(query, tuple)

或者可以使用for loop

for value in allvalues:
cursor.execute(query, value)

最新更新