挖掘特定关键字的文本文件

时间:2018-08-07 11:49:30

标签: text-files counting keyword-search

我在.txt文件中有一个15MB的文件;我想指定4到5个关键字,以查看它们在文件中出现了多少次,然后以直方图的方式绘制它们。请提出一条出路

2 个答案:

答案 0 :(得分:0)

在bash中,如果要查找wordOne,wordTwo或wordThree的出现,则可以执行以下操作:

cat myFile | egrep -o "wordOne|wordTwo|wordThree" | sort | uniq -c

这意味着:读取myFile,查找wordOne,wordTwo和wordThree的出现次数,并仅输出这些出现次数,对输出行进行排序,在计算出现次数时删除重复项。

请注意,这也将匹配wordOneOther,因为我们不能确保单词边界。可以通过几种方式完成此操作,但要取决于您的需求和文件的外观。

绘图是另一个完整的问题。您可以使用gnuplot之类的东西,也可以将输出粘贴到excel或matlab之类的东西。

答案 1 :(得分:0)

安装nltk。进行文本分析将非常有用。安装后,以下代码将帮助您获取特定单词的单词计数:

import nltk

with open('C:\\demo.txt', 'r') as f:
    #The following line will create a list of words from the text.
    words = nltk.word_tokenize(f.read())
    #print (words)
    #The following line will create a word-frequency combo, so you can call any word to get its frequency
    fdist = nltk.FreqDist(words)
    print (fdist['This'])

一旦这些数据准备就绪并以您选择的格式存储,则可以使用matplotlib或seaborn来创建简单的直方图。