zoukankan      html  css  js  c++  java
  • python实现文件读取以及字段统计

     1 import re
     2 
     3 
     4 def find_item(hero):
     5     # 读取文件
     6     with open('sanguo_utf8.txt', encoding='utf-8') as f1:
     7         # 去掉内容中的换行,将文本变为一行
     8         data = f1.read().replace('
    ', '')
     9         # 使用正则表达式,返回传入参数的总出现情况。
    10         # 当使用len()方法时,则会返回该参数总的出现次数
    11         name_num = re.findall(hero, data)
    12         print('主角  %s  出现了  %s  次' % (hero, len(name_num)))
    13     return len(name_num)
    14 
    15 
    16 name_dict = {}
    17 # 读取姓名文件
    18 with open('name.txt', encoding='utf-8') as f2:
    19     # 将姓名以'|'进行分割
    20     for line in f2:
    21         names = line.split('|')
    22         # 遍历所有姓名
    23         for n in names:
    24             # 将姓名作为参数传递给统计姓名出现次数的函数
    25             # 返回每个姓名出现的次数
    26             name_num = find_item(n)
    27             # 将每个姓名作为键,出现次数作为值。传给num_dict[]字典
    28             name_dict[n] = name_num

    打印结果:

      

    主角 諸葛亮 出现了 157 次
    主角 關羽 出现了 9 次
    主角 劉備 出现了 297 次
    主角 曹操 出现了 940 次
    主角 孫權 出现了 321 次
    主角 關羽 出现了 9 次
    主角 張飛 出现了 364 次
    主角 呂布 出现了 342 次
    主角 周瑜 出现了 240 次
    主角 趙雲 出现了 313 次
    主角 龐統 出现了 82 次
    主角 司馬懿 出现了 287 次
    主角 黃忠 出现了 189 次
    主角 馬超 出现了 219 次

  • 相关阅读:
    scp常用操作指令
    php 5.6.36 安装mcrypt
    记https在Android浏览器无法访问
    centos 7 源码包安装、卸载nginx
    Linux进程守护——Supervisor 使用记录
    Nginx日志切割工具——logrotate 使用记录
    计算机相关网段计算
    PHP链接sqlserver出现中文乱码
    Yii2 init 与 beforeAction 区别
    利用yii2分页插件,成对取出数组数据
  • 原文地址:https://www.cnblogs.com/nnnnbbbb1/p/13032847.html
Copyright © 2011-2022 走看看