2017-12-03 5 views
2

私はこのサイトをつぶやきましたhttps://radimrehurek.com/data_science_python/、つぶやきのリストに単語のbagを適用しました。単語のPython Bag NameError:name 'unicode'は定義されていません

import csv 
from textblob import TextBlob 
import pandas 

messages = pandas.read_csv('C:/Users/Suki/Project/Project12/newData1.csv', sep='\t', quoting=csv.QUOTE_NONE, 
           names=["label", "message"]) 

def split_into_tokens(message): 
    message = unicode(message, encoding="utf8") # convert bytes into proper unicode 
    return TextBlob(message).words 

messages.message.head().apply(split_into_tokens) 

print (messages) 

ただし、このエラーが発生します。私はチェックして、サイト上のコードに従っていますが、エラーは発生し続けます。

エラー

Traceback (most recent call last): 
    File "C:/Users/Suki/Project/Project12/projectBagofWords.py", line 34, in <module> 
    messages.message.head().apply(split_into_tokens) 
    File "C:\Program Files\Python36\lib\site-packages\pandas\core\series.py", line 2510, in apply 
    mapped = lib.map_infer(values, f, convert=convert_dtype) 
    File "pandas/_libs/src\inference.pyx", line 1521, in pandas._libs.lib.map_infer 
    File "C:/Users/Suki/Project/Project12/projectBagofWords.py", line 31, in split_into_tokens 
    message = unicode(message, encoding="utf8") # convert bytes into proper unicode 
NameError: name 'unicode' is not defined 

は、誰かが私はこれを是正することができる方法についてアドバイスを提供することはできますか?

ありがとうございます。

答えて

2

unicodeはpython 2.xメソッドです。 Python 3.xを実行している場合、すべての文字列はUnicodeであり、その呼び出しは必要ありません。

https://docs.python.org/3/howto/unicode.html

+0

感謝を:あなたはこのコードを実行するバージョンがわからない場合、それは新しいstr古いunicodeに置き換えられますので、あなたは単にあなたのコードの先頭にこれを追加することができます。私はそれがPython 2であることに気づいていませんでした。私は最近、Pythonと3で始めました。エラーを修正した後、私は最初にコードに続く別のエラーに遭遇しました。 Python 2と3を使用しようとするとよく起こりますか? – Estra

1

unicodeパイソン2の方法です。返信用

import sys 
if sys.version_info[0] >= 3: 
    unicode = str 
+0

チップをありがとう。私は今から使うつもりです。 – Estra

関連する問題