2013-05-05 71 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

相關問題