Python統(tǒng)計文本詞匯出現(xiàn)次數(shù)的實例代碼
問題描述
有時在遇到一個文本需要統(tǒng)計文本內(nèi)詞匯的次數(shù) 的時候 ,可以用一個簡單的python程序來實現(xiàn)。
解決方案
首先需要的是一個文本文件(.txt)格式(文本內(nèi)詞匯以空格分隔),因為需要的是一個程序,所以要考慮如何將文件打開而不是采用復制粘貼的方式。這時就要用到open()的方式來打開文檔,然后通過read()讀取其中內(nèi)容,再將詞匯作為key,出現(xiàn)次數(shù)作為values存入字典。
圖 1 txt文件內(nèi)容
再通過open和read函數(shù)來讀取文件:
open_file=open("text.txt") file_txt=open_file.read()
然后再創(chuàng)建一個空字典,將所有出現(xiàn)的每個詞匯作為key保存到字典中,對文本從開始到結(jié)束,循環(huán)處理每個詞匯,并將詞匯設置為一個字典的key,將其value設置為1,如果已經(jīng)存在該詞匯的key,說明該詞匯已經(jīng)使用過,就將value累積加1。
代碼示例:
def wordcount(readtxt): readlist = readtxt.split() dict1={} for every_world in readlist: if every_world in dict1: dict1[every_world] += 1 else: dict1[every_world] = 1 return dict1 print(wordcount(file_txt))
這里加了def函數(shù)把該程序封裝成一個函數(shù)。
最后輸出得到詞匯出現(xiàn)的字典:
圖 2 形成字典
ps:下面看下python統(tǒng)計文本中每個單詞出現(xiàn)的次數(shù)
1.python統(tǒng)計文本中每個單詞出現(xiàn)的次數(shù):
#coding=utf-8 __author__ = 'zcg' import collections import os with open('abc.txt') as file1:#打開文本文件 str1=file1.read().split(' ')#將文章按照空格劃分開 print "原文本:\n %s"% str1 print "\n各單詞出現(xiàn)的次數(shù):\n %s" % collections.Counter(str1) print collections.Counter(str1)['a']#以字典的形式存儲,每個字符對應的鍵值就是在文本中出現(xiàn)的次數(shù)
2.python編寫生成序列化:
__author__ = 'zcg' #endcoding utf-8 import string,random field=string.letters+string.digits def getRandom(): return "".join(random.sample(field,4)) def concatenate(group): return "-".join([getRandom() for i in range(group)]) def generate(n): return [concatenate(4) for i in range(n)] if __name__ =='__main__': print generate(10)
3.遍歷excel表格中的所有數(shù)據(jù):
__author__ = 'Administrator' import xlrd workbook = xlrd.open_workbook('config.xlsx') print "There are {} sheets in the workbook".format(workbook.nsheets) for booksheet in workbook.sheets(): for col in xrange(booksheet.ncols): for row in xrange(booksheet.nrows): value=booksheet.cell(row,col).value print value
其中xlrd需要百度下載導入這個模塊到python中
4.將表格中的數(shù)據(jù)整理成lua類型的一個格式
#coding=utf-8 __author__ = 'zcg' #2017 9/26 import xlrd fileOutput = open('Configs.lua','w') writeData="--@author:zcg\n\n\n" workbook = xlrd.open_workbook('config.xlsx') print "There are {} sheets in the workbook".format(workbook.nsheets) for booksheet in workbook.sheets(): writeData = writeData+'AT' +booksheet.name+' ={\n' for col in xrange(booksheet.ncols): for row in xrange(booksheet.nrows): value = booksheet.cell(row,col).value if row ==0: writeData = writeData+'\t'+'["'+value+'"]'+'='+'{' else: writeData=writeData+'"'+str(booksheet.cell(row,col).value)+'", ' else: writeData=writeData+'},\n' else: writeData=writeData+'}\n\n' else : fileOutput.write(writeData) fileOutput.close()
總結(jié)
到此這篇關于Python統(tǒng)計文本詞匯出現(xiàn)次數(shù)的實例代碼的文章就介紹到這了,更多相關Python統(tǒng)計文本詞匯出現(xiàn)次數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python統(tǒng)計列表元素出現(xiàn)次數(shù)的方法示例
- 利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法
- python 統(tǒng)計list中各個元素出現(xiàn)的次數(shù)的幾種方法
- python統(tǒng)計字符串中字母出現(xiàn)次數(shù)代碼實例
- python統(tǒng)計文章中單詞出現(xiàn)次數(shù)實例
- Python實現(xiàn)的統(tǒng)計文章單詞次數(shù)功能示例
- Linux上使用Python統(tǒng)計每天的鍵盤輸入次數(shù)
- python 統(tǒng)計數(shù)組中元素出現(xiàn)次數(shù)并進行排序的實例
- Python實現(xiàn)統(tǒng)計給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法
- 5種Python統(tǒng)計次數(shù)方法技巧
相關文章
如何利用Python開發(fā)一個簡單的猜數(shù)字游戲
這篇文章主要給大家介紹了關于如何利用Python開發(fā)一個簡單的猜數(shù)字游戲的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09Python編程實現(xiàn)刪除VC臨時文件及Debug目錄的方法
這篇文章主要介紹了Python編程實現(xiàn)刪除VC臨時文件及Debug目錄的方法,涉及Python針對文件與目錄的遍歷、刪除等相關操作技巧,需要的朋友可以參考下2017-03-03Python list和str互轉(zhuǎn)的實現(xiàn)示例
這篇文章主要介紹了Python list和str互轉(zhuǎn)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11在tensorflow實現(xiàn)直接讀取網(wǎng)絡的參數(shù)(weight and bias)的值
這篇文章主要介紹了在tensorflow實現(xiàn)直接讀取網(wǎng)絡的參數(shù)(weight and bias)的值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06python實現(xiàn)不同文件夾下的函數(shù)相互調(diào)用
這篇文章主要介紹了python實現(xiàn)不同文件夾下的函數(shù)相互調(diào)用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08