邏輯很清晰簡單,不算難, 使用 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 ...