我有这个代码将我的 csv 导入到 mysql 数据库:import csvimport mysql.connectorimport rechange = "hello" mydb = mysql.connector.connect(user='root', password='', host='localhost', database='jeremy_db')file = open('C:\\Users\\trendMICRO\\Desktop\\OJT\\test.csv', 'rb') csv_data = csv.reader(file)mycursor = mydb.cursor()cursor = mydb.cursor()for row in csv_data: cursor.execute('INSERT INTO table_test(col1,col2,col3,col4)' 'VALUES(%s, %s, %s, %s)',row)mydb.commit()cursor.close()print("Done")我可以将 %s 的值更改为我的变量change = "hello"吗?请帮助我,我是 python 新手,我尝试了所有解决方案,但找不到如何更改值。我试过这个,VALUES(hello, %s, %s, %s)',row)但它不起作用
1 回答

MMTTMM
TA贡献1869条经验 获得超4个赞
对于这种非常特殊的情况,您只需对查询中的值进行硬编码:
cursor.execute('INSERT INTO ... VALUES ("hello", %s, %s, %s)', row)
现在您的查询中只有三个占位符,因此您需要确保这row
是一个包含三个项目的列表。例如:
cursor.execute('INSERT INTO ... VALUES ("hello", %s, %s, %s)', row[1:])
如果你真的想使用一个变量,你可以这样做:
row[0] = changecursor.execute('INSERT INTO ... VALUES (%s, %s, %s, %s)', row)
要么:
cursor.execute('INSERT INTO ... VALUES (%s, %s, %s, %s)', [change] + row[1:])
添加回答
举报
0/150
提交
取消