Пытаюсь делать это вот так Текст комментов и оценки формируют Dataframe, который потом я записываю в другую таблицу :
db_connection = 'mysql+pymysql://root@localhost/mom_db'
conn = create_engine(db_connection, encoding='utf-8')
test = pd.read_sql("SELECT comm FROM comments ", conn)
test['comm'] = test['comm'].apply(delete_tabs)
print(test['comm'])
#test['expected'] = [-1, -1, 1, 1]
test['pred_lr'] = grid_lr.best_estimator_.predict(test['comm'])
test['pred_nb'] = grid_nb.best_estimator_.predict(test['comm'])
pd.options.display.expand_frame_repr = False
test.to_sql(name='est_comm', con=conn, if_exists='append', index=False)
На выходе получаю:
UnicodeEncodeError: 'latin-1' codec can't encode character '\u0418' in position 2: ordinal not in range(256)
перепробовал уже очень много всего. И в Apache-2.4-x64_server.conf строчки дописывал, и различным образом пытался указать кодировку в самом скритпе. ничего не помогло.
Используйте charset=utf8:
db_connection = 'mysql+pymysql://root@localhost/mom_db?charset=utf8'
# ----> ^^^^^^^^^^^^^
conn = create_engine(db_connection, encoding='utf-8')
Сборка персонального компьютера от Artline: умный выбор для современных пользователей