欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 合并多個TXT文件并統(tǒng)計詞頻的實現(xiàn)

 更新時間:2019年08月23日 08:22:17   作者:alpha 的博客  
這篇文章主要介紹了Python 合并多個TXT文件并統(tǒng)計詞頻的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

需求是:針對三篇英文文章進(jìn)行分析,計算出現(xiàn)次數(shù)最多的 10 個單詞

邏輯很清晰簡單,不算難, 使用 python 讀取多個 txt 文件,將文件的內(nèi)容寫入新的 txt 中,然后對新 txt 文件進(jìn)行詞頻統(tǒng)計,得到最終結(jié)果。

代碼如下:(在Windows 10,Python 3.7.4環(huán)境下運行通過)

# coding=utf-8

import re
import os

# 獲取源文件夾的路徑下的所有文件
sourceFileDir = 'D:\\Python\\txt\\'
filenames = os.listdir(sourceFileDir)

# 打開當(dāng)前目錄下的 result.txt 文件,如果沒有則創(chuàng)建
# 文件也可以是其他類型的格式,如 result.js
file = open('D:\\Python\\result.txt', 'w')

# 遍歷文件
for filename in filenames:
 filepath = sourceFileDir+'\\'+filename
 # 遍歷單個文件,讀取行數(shù),寫入內(nèi)容
 for line in open(filepath):
  file.writelines(line)
  file.write('\n')

# 關(guān)閉文件
file.close()


# 獲取單詞函數(shù)定義
def getTxt():
 txt = open('result.txt').read()
 txt = txt.lower()
 txt = txt.replace(''', '\'')
 # !"@#$%^&*()+,-./:;<=>?@[\\]_`~{|}
 for ch in '!"'@#$%^&*()+,-/:;<=>?@[\\]_`~{|}':
  txt.replace(ch, ' ')
  return txt

# 1.獲取單詞
hamletTxt = getTxt()

# 2.切割為列表格式,'' 兼容符號錯誤情況,只保留英文單詞
txtArr = re.findall('[a-z\''A-Z]+', hamletTxt)

# 3.去除所有遍歷統(tǒng)計
counts = {}
for word in txtArr:
 # 去掉一些常見無價值詞
 forbinArr = ['a.', 'the', 'a', 'i']
 if word not in forbinArr:
  counts[word] = counts.get(word, 0) + 1

# 4.轉(zhuǎn)換格式,方便打印,將字典轉(zhuǎn)換為列表,次數(shù)按從大到小排序
countsList = list(counts.items())
countsList.sort(key=lambda x: x[1], reverse=True)

# 5. 輸出結(jié)果
for i in range(10):
 word, count = countsList[i]
 print('{0:<10}{1:>5}'.format(word, count))

效果如下圖:

另一種更簡單的統(tǒng)計詞頻的方法:

# coding=utf-8
from collections import Counter

# words 為讀取到的結(jié)果 list
words = ['a', 'b' ,'a', 'c', 'v', '4', ',', 'w', 'y', 'y', 'u', 'y', 'r', 't', 'w']
wordCounter = Counter(words)
print(wordCounter.most_common(10))

# output: [('y', 3), ('a', 2), ('w', 2), ('b', 1), ('c', 1), ('v', 1), ('4', 1), (',', 1), ('u', 1), ('r', 1)]


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解python如何提取瀏覽器中保存的網(wǎng)站登錄用戶名密碼

    詳解python如何提取瀏覽器中保存的網(wǎng)站登錄用戶名密碼

    很多瀏覽器都貼心地提供了保存用戶密碼功能,用戶一旦開啟,就不需要每次都輸入用戶名、密碼,非常方便,作為python腳本,能否拿到用戶提前保存在瀏覽器中的用戶名密碼,用以自動登錄呢,下面我們就來看看吧
    2023-08-08
  • python入門課程第四講之內(nèi)置數(shù)據(jù)類型有哪些

    python入門課程第四講之內(nèi)置數(shù)據(jù)類型有哪些

    這篇文章主要介紹了python入門課程第四講之內(nèi)置數(shù)據(jù)類型有哪些?本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • python語言元素知識點詳解

    python語言元素知識點詳解

    在本篇文章中小編給大家分享了關(guān)于python語言元素的相關(guān)知識點以及實例代碼,需要的朋友們跟著學(xué)習(xí)下。
    2019-05-05
  • Python?Logistic邏輯回歸算法使用詳解

    Python?Logistic邏輯回歸算法使用詳解

    這篇文章主要介紹了Python?Logistic邏輯回歸算法使用的方法和原理,Logistic雖然不是十大經(jīng)典算法之一,但卻是數(shù)據(jù)挖掘中常用的有力算法,所以這里也專門進(jìn)行了學(xué)習(xí),需要的朋友可以參考下
    2021-06-06
  • 如何在C++中調(diào)用Python

    如何在C++中調(diào)用Python

    雖然現(xiàn)在Python編程語言十分的火爆,但是實際上非要用一門語言去完成所有的任務(wù),并不是說不可以,而是不合適。在一些特定的、對于性能要求比較高的場景,還是需要用到傳統(tǒng)的C++來進(jìn)行編程的。本文將用C++的代碼去調(diào)用Python函數(shù)中實現(xiàn)的一些功能
    2021-05-05
  • python通過http下載文件的方法詳解

    python通過http下載文件的方法詳解

    這篇文章主要介紹了python通過http下載文件的方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • opencv實現(xiàn)靜態(tài)手勢識別 opencv實現(xiàn)剪刀石頭布游戲

    opencv實現(xiàn)靜態(tài)手勢識別 opencv實現(xiàn)剪刀石頭布游戲

    這篇文章主要為大家詳細(xì)介紹了opencv實現(xiàn)靜態(tài)手勢識別,opencv實現(xiàn)剪刀石頭布游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 使用Python的time庫格式化時間的方法

    使用Python的time庫格式化時間的方法

    通過使用Python的time庫,我們可以方便地進(jìn)行時間處理、格式化、解析和計算等操作,本文介紹了time庫的一些常見功能和使用方法,包括格式化時間、解析時間戳、獲取當(dāng)前時間、計算時間差等,感興趣的朋友一起看看吧
    2023-11-11
  • Python3實現(xiàn)并發(fā)檢驗代理池地址的方法

    Python3實現(xiàn)并發(fā)檢驗代理池地址的方法

    這篇文章主要介紹了Python3實現(xiàn)并發(fā)檢驗代理池地址的方法,實例分析了Python3基于線程的代理檢驗操作相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • Python繪制股票移動均線的實例

    Python繪制股票移動均線的實例

    今天小編就為大家分享一篇Python繪制股票移動均線的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論