pandas数据保存至Mysql数据库,表创建成功,数据未能插入

发布时间 2023-04-08 15:33:36作者: 借你耳朵说爱你

准备:连接MySQL数据库所需的第三方包pymysql、sqlalchemy(pip安装即可)

方法一:

from sqlalchemy import create_engine
 
engine = create_engine("mysql+pymysql://{}:{}@{}/{}?charset={}".format('用户名', '登录密码', '127.0.0.1:3306', '数据库名','字符编码'))
con = engine.connect()#创建连接
df.to_sql(name='report', con=con, if_exists='append', index=False)

方法二:

from sqlalchemy import create_engine
 
engine = create_engine("mysql+pymysql://用户名:密码@localhost:3306/数据库名?charset=字符编码")
df.to_sql(name='report', con=engine, if_exists='append', index=False)

to_sql的几个参数:

  • name是表名
  • con是连接
  • if_exists:表如果存在怎么处理
    • append:追加
    • replace:删除原表,建立新表再添加
    • fail:什么都不干
  • index=False:不插入索引index

无论那种方法创建的表始终为latin1类型,然后改数据库参数character_set_server=utf8,还是没有用,最终先创建表,再使用改方式将数据插入MySQL数据库中