[英]mysql insert into csv file not working in python
我已經嘗試了很多次並在整個互聯網上進行了搜索,但這仍然不適合我。 我正在嘗試從 csv 文件中讀取數據並使用 python 將數據插入到數據庫中。 這是我的代碼,我不明白為什么它不起作用
import mysql.connector
import csv
import pandas as pd
with open(r'files\files1.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
我還想提一下,我已經嘗試了很多其他的東西來插入到表中,不僅是上面的方法,而且每次我得到不同的錯誤。
有人可以告訴我該怎么做嗎? 我真的很感激
非常感謝
使用cursor.executemany(query, allvalues)
如果您有多個元素保存在列表或元組中,請使用,
cursor.executemany(query, list)
或cursor.executemany(query, tuple)
或者你可以使用 for 循環
for value in allvalues:
cursor.execute(query, value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.