环境是python3.5

在使用pandas,将dataframe数据存入到mysql数据库中,遇到了中文乱码问题。

alter table `xxxx` convert to character set utf8;

alter table xxxx engine=myisam;

con = sqlalchemy.create_engine(“mysql+mysqldb://username:passwd@host/dbname?charset=utf8”)

后来调整数据库编码为utf8,表编码为utf8,以及连接编码指定utf8之后,都没有解决。

最终,放弃使用dataframe的to_sql函数,采用手写sql语句的方式,解决了乱码问题。

值得说的是,这次的中文乱码问题,将to_sql连接的数据库换成sqlite,以及,直接保存成csv后,再从csv读取数据,并to_sql到mysql数据库,都不会出现中文乱码问题。

也许,这个问题是由爬虫的数据源编码导致的。

 

题后记:

后来又再次遇到这个问题。

最终,更改数据库默认编码为utf8类型。

然后采用复制,即可。

 

 

 

 

 

 

分类: Pandas

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。