Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python NLTK从CSV中删除停止字_Python_Csv_Unicode_Nltk_Stop Words - Fatal编程技术网

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 -*-,