gpt4 book ai didi

python - 使用 python 将文件中的数据插入到 mysql 时出错

转载 作者:行者123 更新时间:2023-11-29 16:00:09 25 4
gpt4 key购买 nike

有一个文件包含我想使用python插入mysql表中的数据。我使用“with open”从文件中检索数据并将其转换为列表。所以现在列表中的元素是字符串和i想要将字符串更改为元组,以便我可以将数据从中检索到 mysql。

    import mysql.connector


with open("/home/ninky/com.csv", "r") as fp:
content = fp.read()
lines = content.split("\n")
print(lines)

myconn = mysql.connector.connect(host="localhost", user="root", database="EMPSALARY"
cur = myconn.cursor()
db = "insert into PERSON(name,age,year)values(%s,%s,%s)"
myconn = cur.execute(db, lines)
myconn.close()
result:
-----------
['deepak,29,2019', 'ninky,29,2010', 'suraj,29,2020', 'pratap,30,2018', '']
deepak,29,2019
ninky,29,2010
suraj,29,2020
pratap,30,2018
Traceback (most recent call last):   File
"/home/ninky/PycharmProjects/new/csv_db.py", line 23, in <module>
cur.execute(db, lines) File "/usr/local/lib/python3.6/dist-packages/mysql/connector/cursor.py",
line 543, in execute
"Not all parameters were used in the SQL statement") mysql.connector.errors. ProgrammingError: Not all parameters were used
in the SQL statement
Process finished with exit code 1

最佳答案

在行中,您拥有一个包含 CSV 文件每一行的列表。然后,您需要迭代所有行并在分隔符(',')上再次进行分割:

import mysql.connector

with open("/home/ninky/com.csv", "r") as fp:
content = fp.read()
lines = content.split("\n")
print(lines)


myconn = mysql.connector.connect(host="localhost", user="root", database="EMPSALARY")
cur = myconn.cursor()

db = "insert into PERSON (name,age,year) values (%s,%s,%s)"
for l in lines:
data=l.split(',')
cur.execute(db, data)
myconn.close()

关于python - 使用 python 将文件中的数据插入到 mysql 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56251346/

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