記得將當前目錄設定為檔案目錄(spyder編譯器的右上角,本人用spyder)
filename = input('請輸入你的檔名--------------- ')
file = open(filename + '.txt')
try:
for eachline in file:
print(eachline)
except:
print('開啟檔案出錯')
finally:
file.close()
開啟檔案(我開啟的是《最後一片葉子》的英文版)
from collections import counter
f = open('leaf.txt')
eassy = f.read()
符號替換(方便用split()函式分割)
ch = '"!#?!.。-,'
for i in ch:
eassy = eassy.replace(i,' ')
eassy = eassy.split()
這裡要說明的是,用split()分開之後eassy就是乙個列表了
統計英文單詞個數和出現頻率:
eassy = dict(counter(eassy))#呼叫counter庫統計eassy列表
eassy = list(eassy.items()) #把字典變回列表,這對後面的統計比較好
列表排序
eassy.sort(key = lambda x:x[1],reverse = true) #以列表中每個元素中索引為1的值排序(倒序)
列印英文單詞個數和出現頻率
列印找出文章中最常用的20單詞
將最常見的200個輸寫入檔案
print('前20個次數最多的單詞')
print(eassy[0:20])
print('使用的單詞數量')
print(len(eassy))
print('有多少單詞至少使用了5次')
#print(type(eassy[0]))
#print(eassy[0][1])
for i in range(len(eassy)):
if eassy[i][1] <5:
ind = i
break
print(len(eassy[0:ind]))
#將最常見的200個輸寫入檔案
文字分析awk
awk awk是乙個強大的文字分析工具。相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,空格,製表符 為預設分隔符將每行切片,切開的部分再進行各種分析處理。awk f 支援自定義分隔符 支援正規表示式匹配 支援自定義變數,陣列 ...
Python文字分析及預處理
文字分析的基本功能學習,包括句子切分 單詞切分 大小寫轉化 刪除停用詞 題幹提取 詞性還原。基本功能學習 句子切分,單詞切分 import nltk a s nltk.sent tokenize a print s w for i in s for j in nltk.word tokenize i...
文字分析系列 彙總
文字分析系列的文章是我在2012 2013年做某個專案的筆記和資料整理而成,所提到的演算法 實現方式都最終應用於專案開發,而並非只是概念上,當然文字分析領域非常大也非常艱深 包括google在內的大公司都有深入的研究和產品 以下的文章資料僅限於文字的零和判斷 關聯判斷 排重 分類 特徵抽取 文字分析...