2013-05-05 76 views
2

分析分析下载的文本文件中包含以下内容:我想创建一个程序,它可以在Python

  1. 多少个字的文字资料?
  2. 关键字多少次出现在文本数据?

    import os 
    f= open(os.path.join(os.getcwd(), 'test1.txt'), 'r') 
    dataString =f.read() 
    

该代码只是打开下载的文本文件。 我不知道下一步该怎么做。我完全陷入困境。 请帮帮我。这只是还好给我一些建议或暗示..

+0

这是一个不包含SO精神的问题......我们不是在这里向你解释*如何完成任务。这是通过阅读Python [文档]容易解决的问题(http://docs.python.org/2/library/stdtypes.html)。 – whatyouhide 2013-05-05 14:45:17

+0

我的猜测是,因为有很多Q/A上使已经解决策略处理这个问题这个问题将很快关闭。我会鼓励你没有得到被它关闭沮丧/我学到的是,之前我真的很想问一个问题,我开始尝试拿出一个明确的问题。当我输入问题时,SO引擎在问题标题下方填充可能的相关问题。仔细看看那些人。你会经常找到你的答案。我刚才做了这个确认,我发现了很好的答案。 – PyNEwbie 2013-05-05 15:08:54

+0

谢谢你回答我的愚蠢问题。我其实对编程和英语知之甚少。我是亚洲某地的学生。我很难做一些编程任务。因为用我的语言写的很少有关于python编程的内容。我访问过python docs网页,但我无法理解这些文档,也不知道如何使用。无论如何,我只是在这里抓着秸秆。 – user2351602 2013-05-05 15:39:26

回答

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。您可以使用count

print words.count('hello') 
1

dataString,你要经历每一个字又算什么呢。所以你需要一种方法来识别字符串中的单个单词。您可以使用string.split方法或一些regex多了几分干净分裂的话了。

-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`. 
+1

不是很好的建议。 'wc = len(words)'和'swc = words.count('targetword')'比蛮力迭代更受欢迎。了解核心数据类型的标准库和API。 – PaulMcG 2013-05-05 15:00:06

+0

单词中的单词行:'无效:'do'不是Python语句。 – BioGeek 2013-05-05 15:15:48

+0

@PaulMcGuire:感谢您的建议。我忘了那个命令。 – refi64 2013-05-05 20:05:22

0

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

有多少字:

dataString.split()将返回一个列表,其中每个项目是文件中的一句话,让我们做

多少次一个字重复:

如果你想查询的特定词出现的次数

,您现在知道如何获取列表中的每个单词,只需遍历该列表即可,也可以使用自己的计数器并在每次单词为in dataString.split()时添加1,或者可以使用the collections Counter class

相关问题