Python统计文件夹中所有单词出现的频率

Python统计文件夹中所有单词出现的频率,第1张

# 函数输入:文件路径(见调用示例) # 函数输出:该路径下所有文件中单词出现的频率(以字典数据类型进行返回,去除掉长度不大于2的单词) # 注意:1、在统计单词出现的频率时,所有的单词均应先变成小写。


# 2、在统计单词时,从非字母字符(包括空格)的下一个字符作为单词的字母,直到 # 非字母字符(包括空格)截止。


# 3、数据为整个email文件夹 # 例如: Increase volume ofEjacu1ate 分离出来的单词为increase ,volume , ofejacu ,ate def fact(path): # 在下方填充代码,注释掉pass pass # 主函数 if __name__ == “__main__“: # 示例: print(fact('./email/'))

import re
import os
def fact(path):
    dic = {}
    fnames = os.listdir(path)
    for fn in fnames:
        filepath = os.path.join(path, fn)
        txtnames=os.listdir(filepath)
        for item in txtnames:
            if re.search(r'\.txt$', item):
                txtpath = os.path.join(filepath, item)
                with open(txtpath, 'r', encoding='ISO-8859-15') as f:
                    s = f.read()
                    words = re.findall(r'[A-Za-z]{3,}', s)
                    for key in words:
                        key = key.lower()
                        dic[key] = dic.get(key, 0) + 1

    return dic


# pass

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/567917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存