Python NLTK从CSV中删除停止字
虽然这是一个常见的问题,但我找不到一个适合我的案例的解决方案。我有数据,用逗号分隔,如下所示Python NLTK从CSV中删除停止字,python,csv,unicode,nltk,stop-words,Python,Csv,Unicode,Nltk,Stop Words,虽然这是一个常见的问题,但我找不到一个适合我的案例的解决方案。我有数据,用逗号分隔,如下所示 ['my scientific','data']['is comma-separated','frequency'] 我正在尝试使用删除停止词 from nltk.corpus import stopwords stopword = stopwords.words('english') mynewtext = [w for w in transposed if w not in stopword] o
['my scientific','data']['is comma-separated','frequency']
我正在尝试使用删除停止词
from nltk.corpus import stopwords
stopword = stopwords.words('english')
mynewtext = [w for w in transposed if w not in stopword]
out_file.writerow(w)
但它给了我一个错误:“UnicodeWarning:Unicode相等比较未能将两个参数转换为Unicode-将它们解释为不相等”。我不确定我在哪里犯了错误。我希望我在csv文件中的输出如下
scientific,data
comma-separated,frequency
另外,我希望它对上下两种情况都有效。casefield在我的Python 2.7版中不起作用我想您在上面的代码中将
str对象
与unicode对象
进行比较
我建议你看看这个链接
>>s1=u'Hello'
>>>s2=unicode(“你好”)
>>>类型(s1),类型(s2)
(, )
>>>s1==s2
真的
>>>
>>>s3='Hello'。解码('utf-8')
>>>类型(s3)
>>>s1==s3
>>>真的
试试看
在源代码的标题中
它告诉Python您保存的源文件是
utf-8
。Python2的默认值是ASCII(Python3的默认值是utf-8)。这只会影响解释器读取文件中字符的方式。谢谢您的回复。我不确定我的方法是否正确,我的数据在变量“transposed”中,因此根据您的回答,我使用了unicode(transposed),其余的保持不变。现在,我的输出csv文件被拆分为单个字母。
>>> s1 = u'Hello'
>>> s2 = unicode("Hello")
>>> type(s1), type(s2)
(<type 'unicode'>, <type 'unicode'>)
>>> s1==s2
True
>>>
>>> s3='Hello'.decode('utf-8')
>>> type(s3)
<type 'unicode'>
>>> s1==s3
>>>True
# -*- coding: utf-8 -*-,