簡體   English   中英

NLTK從CSV移除停用詞

[英]NLTK remove stop words from CSV

盡管這是一個常見的問題,但我找不到適合我的情況的解決方案。 我有數據,如下所示以逗號分隔。

['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)

但這給了我一個錯誤,說“ Unicode警告:Unicode相等比較無法將兩個參數都轉換為Unicode-解釋為不相等”。 我不確定在哪里犯錯。 我希望我的csv文件中的輸出像

scientific,data
comma-separated,frequency

另外,我希望它適用於上下兩種情況。 casefield在我的Python版本2.7中不起作用

我認為您正在將上述代碼中的str objectunicode object進行比較。

我建議你看一下鏈接python unicode相等比較失敗

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

在源代碼的標題中。

它告訴Python您保存的源文件是utf-8 Python 2的默認值為ASCII( Python 3的默認值為utf-8 )。 這只會影響解釋器讀取文件中字符的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM