txt文件英语单词词频统计

目录

一、需求分析

二、相关库列表

三、代码在此

四、一些问题


一、需求分析

        把txt文件里的英语单词按照出现次数排序并生成csv文件,如果次数相同按照单词的md5值来排序

二、相关库列表

  • pandas
  • re
  • collections
  • hashlib

三、代码在此

  1. 打开文件
    txt_file = open(file_path, 'r')
  2. 读取文件内容
    txt_data = txt_file.read()
  3. 字母全小写
    txt_lower = txt_data.lower()
  4. 正则表达式去特殊符号
    # 正则表达式去除特殊符号
        punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()——+-=“:’;、。,?》《{}\n'
        # 调用正则表达
        txt_query = re.sub(r"[%s]+" % punc, "", txt_lower)
  5. 调用统计库对词频统计
    # 使用空格来对字符串进行裁切
    txt_list = txt_query.split(' ')
    # 调用统计库来对词频进行统计
    word = Counter(txt_list)
  6. 把每个单词的信息写入到一个列表
    # 创建一个列表来接收DataFrame原型
    pa_list = []
    # 把键、值和根据键名生成的md5写入原型里
    for key, value in word.items():
        pa_list.append([key, value, hashlib.md5(key.encode('utf-8')).hexdigest()])
  7. 调用pandas完成排序和文件导出
    # 生成DataFrame
        pd_data = pd.DataFrame(pa_list)
        # 根据值和md5进行排序
        dataexclex = pd_data.sort_values([1, 2])
        # 把文件导出
        dataexclex.to_csv(f'./{new_file_name}.csv')
  8. 完整代码
    import pandas as pd
    import re
    from collections import Counter
    import hashlib
    
    def Word_frequency_statistics(file_path,new_file_name):
        # 打开文件
        txt_file = open(file_path, 'r')
        # 读取文件内容
        txt_data = txt_file.read()
        # 字母小写化
        txt_lower = txt_data.lower()
        # 正则表达式去除特殊符号
        punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()——+-=“:’;、。,?》《{}\n'
        # 调用正则表达
        txt_query = re.sub(r"[%s]+" % punc, "", txt_lower)
        # 使用空格来对字符串进行裁切
        txt_list = txt_query.split(' ')
        # 调用统计库来对词频进行统计
        word = Counter(txt_list)
        # 创建一个列表来接收DataFrame原型
        pa_list = []
        # 把键、值和根据键名生成的md5写入原型里
        for key, value in word.items():
            pa_list.append([key, value, hashlib.md5(key.encode('utf-8')).hexdigest()])
        # 生成DataFrame
        pd_data = pd.DataFrame(pa_list)
        # 根据值和md5进行排序
        dataexclex = pd_data.sort_values([1, 2])
        # 把文件导出
        dataexclex.to_csv(f'./{new_file_name}.csv')
    
    # 要词频统计的文件路径
    file_path = ''
    # 导出时的文件名称
    new_file_name = ''
    # 调用函数统计词频
    Word_frequency_statistics(file_path,new_file_name)
    

    四、一些问题

    我只试过wav文件,mp3文件一个也可以,前提是文件夹里的文件全是要参与的文件,安装库的时候遇到问题简易回退一个大版本0.9.0=>0.8.0实际体验没多大区别。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值