使用python查找文本文件中标记的频率

使用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

我有一个标签文件,其中包含了我需要在mobydick文件中找出的单词频率,基本上我必须从标签中提取一个单词,在mobydick中搜索单词,并打印单词及其频率,我已经完成了下面的程序,但我得到了一个错误,因为我能够从标签中提取单词,但无法在mobydick中检查相同的单词。我已经附上了颂歌和错误。如果有人能帮忙,那将大有裨益。多谢各位

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。(但要修复代码中的语法错误。)