gpt4 book ai didi

python - 无法使用Python将CSV数据导入MySQL数据库

转载 作者:行者123 更新时间:2023-11-29 15:57:12 24 4
gpt4 key购买 nike

我用下一段 Python 源代码将数据从 CSV 文件导入 MySql。使用的安装版本是:MySql 5.7和Python2.7此外,该表有 3 列。一个 ID 列(自动递增)和两个文本列:名字和姓氏。

问题似乎出在 SQL 语句周围。特别是“%s”位。

从字面上看,我已经用标点符号完成了所有操作,例如:“,”和“。例如's',“s”,(“s”)等。

我还搜索并使用了各种源代码片段。一切都失败了。甚至我都怀疑我的 CSV 文件的质量。但是,通过例如导入MySql 工作台工作正常。当我在源代码中添加一些简单的示例值时,我设法在 MySql 中获取数据。所以从技术上来说一切似乎都很好。只是解析失败了......

请帮忙。很可能我忽略了一些简单的事情,但它让我彻底疯狂......

import mysql.connector as mysql
import csv

db = mysql.connect(
host = "xxxx",
user = "xxxx",
passwd = "xxxx",
database = "abc"
)

cursor = db.cursor()

ifile = open('/tmp/import.csv', "rb")
read = csv.reader(ifile)

for row in ifile:
print row

sql = "INSERT INTO Names(Firstname, Lastname) VALUES(%s, %s)"
cursor.execute(sql, row)

db.commit()

print(cursor.rowcount, "record inserted")

我期望发生的是 CSV 中的数据被解析到 MySQL 中。我收到的错误消息是:

mysql.connector.errors.ProgrammingError: 1064 (42000): 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“%s, %s, %s)”附近使用的正确语法

感谢您的任何提示、线索和/或解决方案!!

最佳答案

假设您正确读取 csv 文件,并且查询中需要相同的参数,请尝试替换此行

cursor.execute(sql, row)

cursor.execute(sql, tuple(row))

关于python - 无法使用Python将CSV数据导入MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56396102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com