python,文字分析

2021-09-22 08:45:21 字數 1582 閱讀 9010

記得將當前目錄設定為檔案目錄(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在內的大公司都有深入的研究和產品 以下的文章資料僅限於文字的零和判斷 關聯判斷 排重 分類 特徵抽取 文字分析...