gpt4 book ai didi

Python:UnicodeDecodeError: 'utf8' 编解码器无法解码字节

转载 作者:太空狗 更新时间:2023-10-29 17:29:47 26 4
gpt4 key购买 nike

我正在将一堆 RTF 文件读入 python 字符串。在某些文本上,我收到此错误:

Traceback (most recent call last):
File "11.08.py", line 47, in <module>
X = vectorizer.fit_transform(texts)
File "C:\Python27\lib\site-packages\sklearn\feature_extraction\text.py", line
716, in fit_transform
X = super(TfidfVectorizer, self).fit_transform(raw_documents)
File "C:\Python27\lib\site-packages\sklearn\feature_extraction\text.py", line
398, in fit_transform
term_count_current = Counter(analyze(doc))
File "C:\Python27\lib\site-packages\sklearn\feature_extraction\text.py", line
313, in <lambda>
tokenize(preprocess(self.decode(doc))), stop_words)
File "C:\Python27\lib\site-packages\sklearn\feature_extraction\text.py", line
224, in decode
doc = doc.decode(self.charset, self.charset_error)
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 462: invalid
start byte

我试过:

  1. 将文件的文本复制并粘贴到新文件
  2. 将 rtf 文件保存为 txt 文件
  3. 在 Notepad++ 中打开 txt 文件并选择“转换为 utf-8”并将编码设置为 utf-8
  4. 使用 Microsoft Word 打开文件并将它们另存为新文件

没有任何作用。有什么想法吗?

它可能不相关,但如果您想知道,这里是代码:

f = open(dir+location, "r")
doc = Rtf15Reader.read(f)
t = PlaintextWriter.write(doc).getvalue()
texts.append(t)
f.close()
vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5, stop_words='english')
X = vectorizer.fit_transform(texts)

最佳答案

这将解决您的问题:

import codecs

f = codecs.open(dir+location, 'r', encoding='utf-8')
txt = f.read()

从那时起,txt 就是 unicode 格式,您可以在代码中的任何地方使用它。

如果您想在处理后生成 UTF-8 文件,请执行以下操作:

f.write(txt.encode('utf-8'))

关于Python:UnicodeDecodeError: 'utf8' 编解码器无法解码字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com