2017-12-03 184 views
2

我一直在关注这个网站,https://radimrehurek.com/data_science_python/,以在推文列表中应用单词包。Python袋单词NameError:名称'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

感谢您的答复。我并不知道它是Python 2,因为我最近才开始使用Python和3.在纠正错误之后,我最初遇到了代码中的另一个错误。试图在Python 3中使用Python 2时常见吗? – Estra

1

unicode是一个Python 2方法。如果你不能确定哪个版本将运行这段代码,你可以简单地在你的代码的开头添加此所以它会与新str替换旧unicode

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

感谢您的提示。我从现在开始使用它。 – Estra

相关问题