2017-11-21 2 views
0

Ich versuche, Daten (Tweets und andere Twitter-Textinformationen) in ein importieren . Datenbank Pandas und MySQL ich folgende Fehlermeldung erhalten:.PyMySQL Warnung: (1366, "Falscher String-Wert: '\ xF0 \ x9F \ x98 \ x8D t ...')

166: Warning: (1366, "Incorrect string value: '\xF0\x9F\x92\x9C\xF0\x9F...' for column 'text' at row 3") result = self._query(query)

166: Warning: (1366, "Incorrect string value: '\xF0\x9F\x98\x8D t...' for column 'text' at row 5") result = self._query(query)

nach einer gründlichen Suche scheint es, als ob es etwas falsch in der Art und Weise ist meine Datenbank Spalten eingerichtet sind ich habe versucht, die Datenbank charset zu UTF8 Einstellung und es zu utf_unicode_ci zusammentragen, aber ich erhalte immer noch den gleichen Fehler.

Der folgende Code importiert die Daten in die Datenbank:

#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') 

Die Daten, die ich importiere, bestehen aus den folgenden Datentypen: 'int64', 'object' und 'datetime64 [ns]'. Ich fand diese Datentypen durch Drucken der Daten auf der Konsole mit

print(df['tweett']) >>> returns dtype 'object' 

Ich würde mich über jede Hilfe freuen, danke!

Antwort

0

Sie benötigen utf8mb4, nicht utf8, wenn Sie eine Verbindung zu MySQL und in den beteiligten Spalten herstellen.

Mehr Python Tipps: http://mysql.rjweb.org/doc.php/charcoll#python (außer Gebrauch utf8mb4 anstelle von utf8UTF-8 sollte nicht geändert werden..)

+0

Gott segne Sie Rick. –

Verwandte Themen