簡體   English   中英

mysql插入csv文件在python中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM