import csv
#import mysql.connector
import pandas as pd
import pymysql
# Connection to the database
connection = pymysql.connect(host='localhost',
user='root',
password='password',
db='db')
cursor = connection.cursor()
sdata = pd.read_csv(r'/opt/data/data.csv')
sdf = pd.DataFrame(sdata, columns=['Site','t_date','t_time','V_MN'])
for index, row in sdf.iterrows():
#print(row['V_MIN'])
cursor.execute('INSERT INTO "Site_Voltage"(v_mn) VALUES ("%s")', row['V_MN'])
connection.commit()我尝试将csv数据文件中的列的值插入到具有记录v_mn的表Site_Voltage中,但是我得到了以下错误
您的SQL语法中有一个错误;请查看与您的MariaDB服务器版本对应的手册,了解在第1行'"Site_Voltage"(v_mn)值("3.3e0")‘附近使用的正确语法。
有没有人知道我做错了什么?
发布于 2021-11-25 13:30:43
尝试更改
'INSERT INTO "Site_Voltage"(v_mn) VALUES ("%s")', row['V_MN']'至
'INSERT INTO Site_Voltage (v_mn) VALUES ("%s"), row['V_MN']'发布于 2021-11-25 14:04:42
因此,问题是MySQL数据库上的数据类型需要与I使用int匹配,并且我写入的数据是浮点型或十进制,因此重新创建这些表可能会有所帮助。语法没有任何问题
https://stackoverflow.com/questions/70111911
复制相似问题