我有这个:
import pymysql
import pymysql.cursors
host = "localhost"
port=3306
user = "db"
password='pass'
db='test'
charset='utf8mb4'
cursorclass=pymysql.cursors.DictCursor
try:
connection= pymysql.connect(host=host,port=port,user=user,password=passw,db=db,charset=charset,cursorclass=cursorclass)
Executor=connection.cursor()
except Exception as e:
print(e)
sys.exit()我尝试使用pandas to_sql(),但它将表中的值替换为最新的值。我希望使用Pandas将值插入到表中,但我希望避免重复的条目,如果有,则应该传递它。
发布于 2019-07-25 02:58:50
可以选择数据帧,并将其插入到BLOB类型的列下的表中。如果采用这种方式,则必须对mysqld返回的结果进行反拾取
编辑:我知道你现在想做什么了。这是一个可能的解决方案。如果有效,请让我知道!
# assume you have declared df and connection
records = df.to_dict(orient = 'records')
for record in records:
sql = "INSERT INTO mytable ({0}) \
VALUES ({1})".format(record.keys(), record.values())
curs = connection.cursor()
try:
curs.execute(sql)
curs.close()
except:
break #handle/research the errorhttps://stackoverflow.com/questions/57041015
复制相似问题