我在.txt文件中有一个15MB的文件;我想指定4到5个关键字,以查看它们在文件中出现了多少次,然后以直方图的方式绘制它们。请提出一条出路
答案 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来创建简单的直方图。