這篇文章主要介紹了Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設、網(wǎng)站設計制作、成都網(wǎng)站建設、行業(yè)門戶網(wǎng)站建設、網(wǎng)頁設計制作的專業(yè)網(wǎng)站制作公司,擁有經(jīng)驗豐富的網(wǎng)站建設工程師和網(wǎng)頁設計人員,具備各種規(guī)模與類型網(wǎng)站建設的實力,在網(wǎng)站建設領域樹立了自己獨特的設計風格。自公司成立以來曾獨立設計制作的站點1000+。問題描述
有時在遇到一個文本需要統(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()
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù)”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設計公司,關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,更多相關知識等著你來學習!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網(wǎng)站設計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù)-創(chuàng)新互聯(lián)
分享鏈接:http://aaarwkj.com/article0/iecio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、微信小程序、網(wǎng)站維護、用戶體驗、動態(tài)網(wǎng)站、App設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容