我想创建一个程序,可以分析python中下载的文本文件

时间:2013-05-05 14:41:47

标签: python text

分析包括以下内容:

  1. 文本数据中有多少字?
  2. 关键字在文本数据中出现的次数是多少次?

    import os
    f= open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
    dataString =f.read()
    
  3. 此代码只是打开下载的文本文件。 我不知道接下来该做什么。我完全陷入了困境。 请帮我。我可以给你一些建议或提示......

4 个答案:

答案 0 :(得分:1)

dataString中,您需要浏览每个单词并对其进行计数。因此,您需要一种方法来识别字符串中的单个单词。您可以使用string.split方法或某些regex将文字分割得更干净。

答案 1 :(得分:1)

如果你想要计算唯一单词的数量,你需要做这样的事情来计算所有内容而不用像“你好”这样的情况,干扰计算。

print len(set(re.findall('\w+', dataString.lower()))) # Number of unique words
print len(re.findall('\w+', dataString.lower())) # Total number of words

要显示特定字词的计数,您可以使用list comprehension

words = re.findall('\w+', dataString.lower())
print len([word for word in words if word == 'hello'])

或者您可以使用count

print words.count('hello')

答案 2 :(得分:0)

我不会解决你的问题,但我会解释你如何做每一件事因为Stackoverflow不是为了你的工作而创建的,但我会指出你要做的事情:

多少字:

dataString.split()会返回一个列表,其中每个项目都是文件中的一个单词,所以让我们来做

一个单词重复多少次:

如果你想检查一个特定单词出现的次数,你现在知道如何获取列表中的每个单词,只需遍历该列表就可以使用你自己的计数器并在每次单词时加1是in dataString.split(),或者您可以使用the collections Counter class

答案 3 :(得分:-1)

要获得单词计数,请使用

f = open('test.txt, 'r')
text = f.read()
f.close()
words = text.split(None)
ec = len(words)

要获取文件中出现的单词次数,请添加

swc = 0
for word in words:
    if word == 'word2count':
        swc +=1`.