溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù)

發(fā)布時間:2021-07-20 14:08:56 來源:億速云 閱讀:745 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

問題描述

有時在遇到一個文本需要統(tǒng)計文本內詞匯的次數(shù) 的時候 ,可以用一個簡單的python程序來實現(xiàn)。

解決方案

首先需要的是一個文本文件(.txt)格式(文本內詞匯以空格分隔),因為需要的是一個程序,所以要考慮如何將文件打開而不是采用復制粘貼的方式。這時就要用到open()的方式來打開文檔,然后通過read()讀取其中內容,再將詞匯作為key,出現(xiàn)次數(shù)作為values存入字典。

Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù)

圖 1 txt文件內容

再通過open和read函數(shù)來讀取文件:

open_file=open("text.txt")
file_txt=open_file.read()

然后再創(chuàng)建一個空字典,將所有出現(xiàn)的每個詞匯作為key保存到字典中,對文本從開始到結束,循環(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)的字典:

Python如何統(tǒng)計文本詞匯出現(xiàn)次數(shù)

圖 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ù)”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI