【发布时间】:2018-05-05 07:41:57
【问题描述】:
我正在尝试使用 Pandas 和 MySQL 将数据(推文和其他推特文本信息)导入数据库。我收到以下错误:
166:警告:(1366,“不正确的字符串值:'\xF0\x9F\x92\x9C\xF0\x9F...' 用于第 3 行的列 'text'”) 结果 = self._query(查询)
166:警告:(1366,“第 5 行的列 'text' 的字符串值不正确:'\xF0\x9F\x98\x8D t...'”) 结果 = self._query(查询)
经过彻底搜索后,我的数据库列的设置方式似乎有问题。我尝试将数据库字符集设置为 UTF8 并将其整理为 utf_unicode_ci,但仍然收到相同的错误。
以下是将数据导入数据库的代码:
#To create connection and write table into MySQL
engine = create_engine("mysql+pymysql://{user}:{pw}@{lh}/{db}?charset=utf8"
.format(user="user",
pw="pass",
db="blahDB",
lh="bla.com/aald/"))
df.to_sql(con=engine, name='US_tweets', if_exists='replace')
我要导入的数据包含以下数据类型:“int64”、“object”和“datetime64[ns]”。我通过使用
将数据打印到控制台发现了这些数据类型print(df['tweett']) >>> returns dtype 'object'
感谢您的帮助,谢谢!
【问题讨论】:
标签: python mysql pandas utf-8 pymysql