使用python查找文本文件中标记的频率
我有一个标签文件,其中包含了我需要在mobydick文件中找出的单词频率,基本上我必须从标签中提取一个单词,在mobydick中搜索单词,并打印单词及其频率,我已经完成了下面的程序,但我得到了一个错误,因为我能够从标签中提取单词,但无法在mobydick中检查相同的单词。我已经附上了颂歌和错误。如果有人能帮忙,那将大有裨益。多谢各位使用python查找文本文件中标记的频率,python,python-3.x,python-textprocessing,Python,Python 3.x,Python Textprocessing,我有一个标签文件,其中包含了我需要在mobydick文件中找出的单词频率,基本上我必须从标签中提取一个单词,在mobydick中搜索单词,并打印单词及其频率,我已经完成了下面的程序,但我得到了一个错误,因为我能够从标签中提取单词,但无法在mobydick中检查相同的单词。我已经附上了颂歌和错误。如果有人能帮忙,那将大有裨益。多谢各位 import pandas as pd import numpy as np import nltk, re, pprint import string from
import pandas as pd
import numpy as np
import nltk, re, pprint
import string
from collections import Counter
from nltk.tokenize import sent_tokenize,word_tokenize
from urllib import request
with open('tags.txt','r') as f:
for line in f:
for word in line.split():
if word in open('MobyDick.txt').read():
c=Counter(word)
print(c)
错误是
UnicodeDecodeError回溯(最近一次呼叫最后一次)
在()
9对于f中的行:
10表示行中的单词。拆分()
--->11如果单词处于打开状态('MobyDick.txt')。读取()
12 c=计数器(字)
十三,
解码中的C:\Users\Pratik\Anaconda3\lib\encodings\cp1252.py(self、input、final)
21类增量编码器(编解码器.增量编码器):
22 def解码(自身、输入、最终=假):
--->23返回编解码器。charmap_解码(输入、自身错误、解码_表)[0]
24
25类StreamWriter(编解码器、编解码器、StreamWriter):
UnicodeDecodeError:“charmap”编解码器无法解码位置7237处的字节0x9d:字符映射到似乎open函数无法解码文件。 打开文件时请尝试指定编解码器,否则将使用系统默认编解码器打开文件,该编解码器依赖于操作系统。e、 g
if word in open('MobyDick.txt', encoding='utf8').read():
...
你昨天问了同样的问题。答案仍然是一样的。嗨,亚历克西斯,谢谢,只是我对这个平台还不熟悉,所以这对我来说是一个相当大的挑战,但是如果你能帮助我了解可以计算单词频率的命令,那就太好了,我用的柜台对吗?我认为utf8正在工作,谢谢francois。由于您是该平台的新手,请花时间查看网站的帮助部分。它解释了如何提问,以及当你得到(或没有)答案时该怎么做。PS。在获得所需帮助后,请勿删除问题。从错误消息中,您可以看到系统默认设置为cp1252(Windows)。重要的是文件的正确编码——谁知道OP下载了哪个版本的《白鲸记》?也许你的猜测是对的,它是UTF8。(但要修复代码中的语法错误。)