Python 3计数器忽略少于x个字符的字符串

问题描述 投票:0回答:3

i有一个对文本文件的单词进行计数的程序。现在我想将计数器限制为超过x个字符的字符串

from collections import Counter
input = 'C:/Users/micha/Dropbox/IPCC_Boox/FOD_v1_ch15.txt'

Counter = {}
words = {}
with open(input,'r', encoding='utf-8-sig') as fh:
  for line in fh:
    word_list = line.replace(',','').replace('\'','').replace('.','').lower().split()
    for word in word_list:
      if word not in Counter:
        Counter[word] = 1
      else:
        Counter[word] = Counter[word] + 1
N = 20
top_words = Counter(Counter).most_common(N)
for word, frequency in top_words:
    print("%s %d" % (word, frequency))

我尝试了re代码,但是没有用。

    re.sub(r'\b\w{1,3}\b')

我不知道如何实现...

最后,我希望输出忽略所有短词,例如and,you,be等。>>

i有一个对文本文件的单词进行计数的程序。现在我想将计数器限制为来自集合的x个以上字符的字符串import计数器输入='C:/ Users / micha / Dropbox / IPCC_Boox / ...

python string counter analysis word
3个回答
0
投票

您可以使用以下方法更简单地做到这一点:


0
投票

计数器已经完成您想要的。您可以“反复”喂食它,这将起作用。https://docs.python.org/2/library/collections.html#counter-objects您也可以使用过滤器功能https://docs.python.org/3.7/library/functions.html#filter可能看起来像:


0
投票

一些笔记。

© www.soinside.com 2019 - 2024. All rights reserved.