Python 合併多個TXT檔案並統計詞頻的實現

2022-10-04 16:24:15 字數 2055 閱讀 5968

邏輯很清晰簡單,不算難, 使用 python 讀取多個 txt 檔案,將檔案的內容寫入新的 txt 中,然後對新 txt 檔案進行詞頻統計,得到最終結果。

程式設計客棧**如下:(在windows 10,python 3.7.4環境下執行通過)

# coding=utf-8

import re

import os

# 獲取源資料夾的路徑下的所有檔案

sourcefiledir = 'd:\\python\\txt\\'

filenames = os.listdir(sourcefiledir)

# 開啟當前目錄下的 result程式設計客棧.tvywsxtluhuxt 檔案,如果沒有則建立

# 檔案也可以是其他型別的格式,如 result.js

file = open('d:\\python\\result.txt', 'w')

# 遍歷檔案

for filename in filenames:

filepath = sourcefiledir+'\\'+filename

# 遍歷單個檔案,讀取行數,寫入內容

for line in open(filepath):

file.writelines(line)

file.write('\n')

# 關閉檔案

file.close()

# 獲取單詞函式定義

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.去除所有遍歷統計

counts = {}

for word in txtarr:

# 去掉一些常見無價值詞

forbinarr = ['a.', 'the', 'a', 'i']

if word not in forbinarr:

counts[word] = counts.get(word, 0) + 1

# 4.轉換格式,方便列印,將字典轉換為列表,次數按從大到小排序

countslist = list(counts.items())

countslist.sort(key=lambda x: x[1], reverse=true)

# 5. 輸出結果

for i in range(10):

word, count = countslist[i]

print(''.format(word, count))

效果如下圖:

另一種更簡單的統計詞頻的方法:

# coding=utf-8

from collections import counter

# words 為讀取到的結果 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)]

本文標題: python 合併多個txt檔案並統計詞頻的實現

本文位址: /jiaoben/python/269596.html

Python批量合併多個txt檔案

coding utf 8 os模組中包含很多操作檔案和目錄的函式 import os 獲取目標資料夾的路徑 meragefiledir os.getcwd meragefiles 獲取當前資料夾中的檔名稱列表 filenames os.listdir meragefiledir 開啟當前目錄下的re...

多個XML檔案合併並轉換為TXT檔案

一 通過網路爬蟲從網上擼到xml小檔案,現將檔案合併並轉換為txt檔案。coding utf 8 import os from bs4 import beautifulsoup 1 放xml檔案的資料夾路徑 filepath g datacenter stoke critic data 2獲取資料夾...

Python 快速合併多個Excel檔案

注意 需要安裝pandas,openpyxl這兩個第三方類庫,否則會報錯。實現 coding gbk import os import pandas as pd dir input 請輸入待合併檔案的路徑 n 設定工作路徑 frames 存放匯入的檔案 for root,dirs,files in ...