' Latin-1的'编解码器不能编码字符u' \ u2014'位置23:序数不在范围内(256)

时间:2014-12-15 15:57:01

标签: mysql excel utf-8 pandas latin1

我正在从excel工作簿将数据加载到pandas数据框中,并在我收到上述错误时尝试将其推送到数据库。

我一开始认为数据库的整理是有问题的,我改为utf8_bin

接下来,我检查了我的数据库引擎创建语句,我也为编码添加了一个参数。

engine = create_engine('mysql+pymysql://root@localhost/test', encoding="utf-8")

但这些事情都不起作用我仍然从行中得到错误:

df.to_sql("strand", engine, if_exists="append", index=False)

我检查了to_sql方法是否有编码参数,但似乎并非如此。

1 个答案:

答案 0 :(得分:9)

显然我需要将?charset-utf8添加到查询字符串以及编码变量,这导致我最终成为引擎创建语句

engine = create_engine('mysql+pymysql://root@localhost/test?charset=utf8', encoding="utf-8")