20170512 Python练习册0004统计英文的纯文本文件的单词出现的个数
生活随笔
收集整理的這篇文章主要介紹了
20170512 Python练习册0004统计英文的纯文本文件的单词出现的个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#!/usr/bin/env python
# -*-coding:utf-8-*-
# 第 0004 題:任一個英文的純文本文件,統計其中的單詞出現的個數
from collections import Counter
import re
def creat_list(filename):
data_list = []
with open(filename,'r',encoding= 'utf-8') as f:#打開文件,encoding=‘utf-8',不然報UnicodeDecodeError
for line in f:#循環每一個字母
content = re.sub(r'[-,]|\d|\?|:|"|!|\.|/|', '', line)#利用正則替換掉數字,字符等,替換為空格
print(content)#打印看一下是否替換完了
data_list.extend(content.strip().split(' '))#刪除空白符(包括'\n','\r','\t',' '),并以' '空格來切割生成的字符串
#print(data_list)#打印一遍生成的列表
return data_list
def wc(fileneme):
print(Counter(creat_list(fileneme)))#調用creat_list函數處理文件,并用Counter計數
if __name__=='__main__':
filename = 'F:\python\Python練習冊\Walden.txt'
wc(filename)
需要用到的知識有: # split(pattern,string,maxsplit=0,flag=0 # split根據匹配到的字符串來分割字符,返回分割字符串組成的列表 import re str4 = 'imooc:C C++ Java Python' info_split1 = re.split(r':| ',str4)#將字符串str4 按:或者空格 進行分割 print(info_split1) str5 = 'imooc:C C++ Java Python,C#' info_split2 = re.split(r':| |,',str5) print(info_split2)#按照冒號: 空格 或者逗號,進行分割成列表
# -*-coding:utf-8-*-
# 第 0004 題:任一個英文的純文本文件,統計其中的單詞出現的個數
from collections import Counter
import re
def creat_list(filename):
data_list = []
with open(filename,'r',encoding= 'utf-8') as f:#打開文件,encoding=‘utf-8',不然報UnicodeDecodeError
for line in f:#循環每一個字母
content = re.sub(r'[-,]|\d|\?|:|"|!|\.|/|', '', line)#利用正則替換掉數字,字符等,替換為空格
print(content)#打印看一下是否替換完了
data_list.extend(content.strip().split(' '))#刪除空白符(包括'\n','\r','\t',' '),并以' '空格來切割生成的字符串
#print(data_list)#打印一遍生成的列表
return data_list
def wc(fileneme):
print(Counter(creat_list(fileneme)))#調用creat_list函數處理文件,并用Counter計數
if __name__=='__main__':
filename = 'F:\python\Python練習冊\Walden.txt'
wc(filename)
需要用到的知識有: # split(pattern,string,maxsplit=0,flag=0 # split根據匹配到的字符串來分割字符,返回分割字符串組成的列表 import re str4 = 'imooc:C C++ Java Python' info_split1 = re.split(r':| ',str4)#將字符串str4 按:或者空格 進行分割 print(info_split1) str5 = 'imooc:C C++ Java Python,C#' info_split2 = re.split(r':| |,',str5) print(info_split2)#按照冒號: 空格 或者逗號,進行分割成列表
Counter
Counter是一個簡單的計數器,例如,統計字符出現的個數:
>>> from collections import Counter >>> c = Counter() >>> for ch in 'programming': ... c[ch] = c[ch] + 1 ... >>> c Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})Counter實際上也是dict的一個子類,上面的結果可以看出,字符'g'、'm'、'r'各出現了兩次,其他字符各出現了一次。
轉載于:https://www.cnblogs.com/Jiang190/p/6845973.html
總結
以上是生活随笔為你收集整理的20170512 Python练习册0004统计英文的纯文本文件的单词出现的个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AWK从入门到精通
- 下一篇: vi-vim常用命令