Python 清除文本数据时出现UnicodeDecorr错误

Python 清除文本数据时出现UnicodeDecorr错误,python,regex,beautifulsoup,nlp,gensim,Python,Regex,Beautifulsoup,Nlp,Gensim,我正在努力清理一些文字。我只保留字母和数字。但是,我的文本仍然包含其他字符 这是我的职责: def review_to_wordlist(review, remove_stopwords=False, remove_numbers = False ): # Function to convert a document to a sequence of words, # optionally removing stop words and numbers. Returns a list of w

我正在努力清理一些文字。我只保留字母和数字。但是,我的文本仍然包含其他字符

这是我的职责:

def review_to_wordlist(review, remove_stopwords=False, remove_numbers = False ):
# Function to convert a document to a sequence of words,
# optionally removing stop words and numbers.  Returns a list of words.
#
# 1. Remove HTML
review_text = BeautifulSoup(review).get_text()
#
# 2. Remove non-letters
if True:
    review_text = re.sub("[^a-zA-Z0-9]"," ", review_text)
#
# 3. Convert words to lower case and split them
words = review_text.lower().split()
#
# 4. Optionally remove stop words (false by default)
if remove_stopwords:
    stops = set(stopwords.words("english"))
    words = [w for w in words if not w in stops]
#
# 5. Return a list of words
return(words)
这是我得到的一个结果:

NuTone中央真空系统45� Ell俄亥俄钢串接自然和 人造草坪清扫系统独特的家居设计36英寸。x 80英寸。苏 Casa黑色表面安装外旋式钢制安全门,带扩展 金属屏幕独特的家居设计36英寸。x 80英寸。黑色表面 安装带有膨胀金属网的外旋钢安全门 家居设计36英寸。x 80英寸。Su Casa黑色表面贴装外旋 钢制安全门,配有金属网MP Global Best 400 in。 x 36英寸。x 1/8英寸。带薄膜的声学再生纤维垫层 用于层压木材MP全球最佳400英寸。x 36英寸。x 1/8英寸。声学的 层压木材用再生纤维薄膜衬垫 #10-1/4英寸。x 2-1/2英寸。8.� 光亮钢环柄普通钉子(1磅-包)

我得到的错误是:

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 5-6: unexpected end of data


676
Husky Pneumatic 3-1/2 in. 21� Full-Head Strip Framing Nailer
5157
RIDGID 3-1/2 in. 21� Round-Head Nailer
5158
RIDGID 3-1/2 in. 21� Round-Head Nailer

从Padraic Cunningham的列表中,
pd.read\u csv
在读取时默认为utf8。这可能会导致某些字符出现乱码,可以通过在调用中设置
encoding=“latin-1”
来修复。

页面编码是什么,您是如何获取源代码的?您是从文件中读取的?哪一行导致Unidecode错误?@MAS是的,这将有助于了解出现错误时您在做什么,很可能您使用了错误的编码,数据来自哪里?那么pd.read\u csv?尝试设置
encoding=“拉丁语-1”