gpt4 book ai didi

Python:用读入文件替换字符错误

转载 作者:行者123 更新时间:2023-12-01 03:41:55 25 4
gpt4 key购买 nike

目标:我只想去掉逗号,因为这是唯一一个会搞砸我的(类(class)必需的)文件解析的贝叶斯分析(即单词,2,4)而不是说(即单词,,2)的字符,4)

因此,我目前正在尝试从安然在线公共(public)语料库中读取文本文件形式的电子邮件,并构建贝叶斯垃圾邮件过滤器。

我注意到,在尝试操作存在的字符串时,读取某些文件会引发错误。我完全知道其中一些文件包含病毒,因此某些字符的编码可能无效。但是,我尝试简单地替换字符串中的逗号,但收到以下错误:

UnicodeDecodeError:“ascii”编解码器无法解码位置 1169 中的字节 0xc1:序号不在范围内(128)

我已经尝试了该论坛提供的所有内容,并且到处搜索解决方案,例如:

with open(file+file_path_stings[i],'r') as filehandle:
words = str(filehandle.read())
words = words.replace(',','')
words = words.split()

我也尝试了很多正则表达式...这是其中一个版本:

with open(file+file_path_stings[i],'r') as filehandle:
words = str(filehandle.read())
words = re.sub(',','',words)
words = words.split()

现在,我可以简单地正则表达式一个只允许 A-Za-z 通过的版本,但我注意到垃圾邮件的准确性受到许多垃圾邮件文件具有此类特殊字符这一事实的严重影响。

如有任何建议,我们将不胜感激。谢谢。

-罗伯特

最佳答案

如果您只是想删除多余的逗号,并且正如您所说,没有任何效果,您可以使用简单的拆分和连接(假设逗号是这里唯一的分隔符)

','.join([s for s in 'word,,2,4'.split(',') if s])

关于Python:用读入文件替换字符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39481870/

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