2017-05-29 9 views
0
from textblob import TextBlob as tb 
from sqlalchemy import create_engine 
import pandas as pd 

最初iはengine=create_engine("mysql+mysqldb://root:[email protected]:3306/listing")UnicodeDecodeError: 'ASCII' コーデックは位置284にバイト0x93をデコードすることはできません:しない範囲で順序(128)

としてSQLAlchemyのを使用してエンジンを作成したが、私は読み出すコマンドread_sqlパンダを使用しましたデータベースからのデータ

df=pd.read_sql('select locationId,text from location_reviews',engine)

私は、SQLからデータを読み取るためのSQLAlchemyのとdf = pd.read_sql(query,engine)を使用していますUnicodeDecodeError: 'ascii' codec can't decode byte 0x93 in position 284: ordinal not in range(128) をtextblobする文字列からテキスト列を変換しようとしたとき、私はこのエラーを取得しています。 は、私は

df['text']=df.text.apply(lambda x: tb(x)) 

を使用し、上記のエラーを取得textblobでテキスト列を変換しようとしました。

+0

あなたのSQLは非ASCIIデータが含まれています

は、これらの線に沿って何か、unidecodeを試してみてください。どのようにデータフレームを作成しましたか?あなたのコードを表示してください(または、より良いことに、単純な_working_例)。どのラインでエラーが出るのですか?スタックトレースを表示します。データフレームを作成するときに問題はありますか? – alexis

答えて

0

これは、TextBlobに変換しようとしているテキストにユニコード文字が含まれていることを意味します。あなたはユニコードキャラクターが誰にも隠れないようにしようと思うかもしれません。

from unidecode import unidecode 
df['text']=df.text.apply(lambda x: tb(unidecode(x))) 
+0

同じエラーを返すことができません –

+0

その後、このコードの前にエラーが発生している可能性があります。あなたはどこでエラーが発生するのか分かりますか? df全体に1つのコードを適用したいかもしれません。 – ystark

+0

https://stackoverflow.com/questions/18649512/unicodedecodeerror-ascii-codec-cant-decode-byte-0xe2-in-position-13-ordinalを使用して問題を解決しました。 –