Pythonと単語頻度統計でテキストファイルを読みます

360のブラウザのクラッシュを書く時にだけ、コンテンツの結果やそれを取り戻すには、自動保存機能のおかげでパークをブログ!

------------ ------------復元コンテンツが始まります

最近のPythonを学んで、指定したパスからテキスト文書を読み、それぞれの単語が表示され、プリントした数をカウントすることができます小さなプログラムを書きました

1  インポートOS
 2  この方法は、フォルダやファイルを作成するために使用されている
3。 DEFのCreateFile(ファイル名、コンテンツ、R&LT filePathに= ' D:/ PythonExercise / ' ):
 4       フォルダを作成
5。     os.mkdir(filePathに)
 6。      をフルパス= filePathに+ fileNameに
 7      F =オープン(をフルパス、' W ' 。8      f.write(コンテンツ)
 。9      f.close
 10  指定されたファイルに書き込まれ、次の文
11のCreateFile(' test.txtの'"!これだけは、Pythonせて楽しんAPOSショートライフIS、" 12は、 
13である このメソッドは、ファイルや単語頻度統計の読み取りに使用される
14  DEF getWordsFrequency(R&LT fullFilePath = ' D:/PythonExercise/test.txt ' ):
 15      F =オープン(fullFilePathを、R&LT 16       分割パラメータを渡していない場合、デフォルトはスペースで、以下が英語に適用されるスペースで区切られたコンテンツを、読み取る
。17       TMP = f.readline()。スプリット()
 18は 、以下が中国語に適用中国語の文字の間にスペースがないため、リストの単一のコンテンツに)(SOリストを使用して、変換文字を全体STRを読み出すことができる
。図19は、     TMP =(f.readline())リスト
20は 
21である     f.close()
 22であります     プリント(TMP)
 23がある 句読点セット
24      句読点= ' '' :; - 、/ "{}] [〜@#$%^&*()_ +!?''' 
25  だけのスペースで区切られている場合、このようないくつかの「もし」はない!「などの単語や句読点の組み合わせなどを取得し、その内容は、その中にトラバースリストの句読点は、分離除去され、分割元のコンテンツリストが元のリストに適用される含まれます
26である     ため、私にはTMP :
 27          のための P における句読点:
 28              IF P におけるI:
 29                  TMP1 = i.split(P)
 30                  tmp.remove(I)
 31は                 tmp.extend(TMP1)
 32  空要素''削除され、原語すべて小文字に変換が
33である     ために J:TMP
 34は         IF == J '' 35               印刷( "LETのAPOSのヌルを削除")
36              tmp.remove(J)
 37 [          38です              印刷( "GET低下のlet APOS")を
39              TMP [tmp.index(J) ] = j.lower()
 40  #の             tmp.replace(J、j.lower())             
41がある ので、再び取り出し、声明「」文字ならば何とか最後の1を外れて除去した上で
42      一方、 tmp.count('' )!= 0
 43は          (tmp.remove '' 44がある      (tmp.count(「」))印刷
45       プリント(「TMP後小文字」、TMP)を
46である ワードリスト処理して後で容易にするために、重量タプルに変換
47の      キー= タプル(SET(TMP) )
 48      プリント(キー)
 49  単語を重み付けするために長さの上部とキー、すなわち、同一のリスト要素を生成するために、最初の初期値は0であるが、その後の統計的単語頻度容易
50      =(I 0 * FREQリストのための I 範囲(LEN(キー)))
 51  #の     印刷(FREQ)
52  ワードから鍵を取得し、数TMP統計が表示され、FREQの要素に割り当てられた番号、FREQ長さおよびキー同じなぜなら、そうFREQ鍵およびシリアル番号は、それらを作るために対応することが容易組成辞書
53である     ため言葉キー:
 54である          [keys.index(ワード)] FREQ =tmp.count(ワード)
 55  #の     印刷(FREQ)
56れる 辞書作成
57れる      freqDict = {}
 58  #は、辞書キーバッチキーに導入されるであろう
59      freqDict = dict.fromkeys(キー)
 60  プリントfreqDictを見ることができるならば、この時なしのその最大値
61である      プリント(freqDict)
62は キーとキーの対応上記の値と割当1対応FREQのfreqDict 
63がある     ために言葉:キー
 64           プリント(freqDict [ワード])
65          freqDict [単語] = FREQ [keys.index(ワード)]
 66      プリント(freqDict)
 67     リターンfreqDict
 68  形式辞書で単語の頻度をプリントアウトすることができる機能実行
 69  getWordsFrequency()
 70  
71である 上記ワードから次の文をランダムに10プリント読み取る
 72 wordSet = リスト(getWordsFrequency()。キー())
 73は印刷(wordSet)
 74  インポートランダムR&LT
 75点の 抽出物10個の異なる要素、この方法は、重量に乱数であることができる
 76 randomWords = r.sample(wordSet、10 )、
 77  以下の3行によっては、10個の単語を描画することができるが、値が重複していてもよい
 78  randomWords = [] 
79  範囲のiについて(10):
80       randomWords.append(r.choice(wordSet))
81  プリント(randomWords)

プログラム出力の結果

(1)ランダムのbing.com国際版からのホット検索しばらくニュースを選択してあるtest.txtに保存され、次のように、結果は

{ '軌道':1、 'ハング':2 'もう':1、 'かなり':2 '惑星':2 '惑星':2 'の':2 'システム':2 ' ':4 'リング':1、 '2':1、 'があります':1、 '人生':1、 '請求':1、 '機能':1、 '衛星':3 '' の両方:1、 '条件':1、 '意味':1、 '調査':1、 '月':3 'チャンス':1、 '可能':1、 'と':1、 '私たち':2 、 '本体':1、 '有する':3 'CNET' 1 'である':1、 '天王星':1、 '赤':1、 '木星':1、 'でした':2 '地球の:2、[レポート]:1、 'いくつか':1、 'メイン':1、 'と':1、 'ある':1、 'は':2、 'その者':1、 '名声' :1、 '空':1、 '地球':2 '重力':1、 '中':1、 '場所':1、 'は':1、 'コール':1、 'スポット':1、 '有名な':2、目 ':1、 'それはだ':1、 '':1、 'の':4 'その': '?正しい'、3:1、 '太陽':2、 '独特の':1、'その:5 'NO':1、 '旋回':1、 '有する':4 '特別':1、 '水銀':1、 '天文学':1、 'ミニ '' 1' 不思議:1、 '人間':1、 '今':1、 'カタリナ':1、 '小惑星':1、 '一':1、 'ロック':1、 'この':1、 'クール':1 、 'と':3 '希望':1、 '全て' 1 'に' 1 'ツーソン':1、 'アウト':2 'で' 1 'と':2 ' AZ ':1、 'は、':1、'土星':1、 '使用':1、 'で':5 'それ':2 '多くの':1、 '':3 'メイク':1、 'ホーム':1、「のような「:1、 '完璧':1、 'だけ':1}

[、 'システム'は、 'レポート'、 'ITは'、 'だろうが'、 'NO'、 'ある' 'に'、 'プリティ'、 'すべて'、 'メイク'] 

から(2)シーナのニュースで選択、第2のセグメントと、次のような結果であり、test.txtというに保存

'に' 1、:{ '聞いた' 1、 'ホーム':2、 'テーブル':1、 'チューブ':1、 '緑':4 'サービス':1、 'う':1 '疫病':1、'部門':1'でした:3 '非':1、 '':1、 '病院':1、 'と':1、 'フランス':1、 '日' :1、 '投与':2 'グリッド':1、 '作業':1、 '最も':1、 'コントロール':2 'テイク':1、 '':3 '対策':1 '布':1、 '厳密':2、 '新しい':1、 'ポール':1 'リー':1 'と' 1' 。':2'コール:へ'1' ':1、'遊び':1、'野生':3'ビューロ':2、'と':2'移動':3'ガード「: 1は、 'WANG':1 '示す':1は、 '私は':2 '本物':1 'サブ':1、 'フィールド':1、 '2':1、 '貿易':1、 'ステータス':1、 '少':1、 '長さ':1、 '次元':1、 '愛':2、

{ "ではない":1、 '暗黙の':1、 '右':1、 '実用':1、 'ネストされた':1、 'が':3 '美しい':1、 'ブレーク':1 'エラー':1、 'の':3 'ゴミ':1、 '':2、 '密':1、 'もっと':1、 '簡単':1、 "あなただ":1 'スパース':1、 'ピータース':1、 '行う':2、 'かもしれない':2、 '明示的な':1、 '実装':2 'しばしば':1、 '素晴らしい':1、 '渡す:1、 'それら':1、 '純度' 1 'である' 10 'あいまい':1、 '顔' 1 'である':3 'で' 1 'であります:1、 '静かに':1、 '例':1、 '悪い':1、 'アイデア':3 'もし':2、 "それはだ":1、 'ない':1、 'カウント':1 '禅 ':1、 '可読性':1、 'は':1、 '鳴らし':1、 '誘惑':1、 'より':8、 '醜い':1、 'オランダ':1、 "レッツ" :1、 '推測':1、 '名前空間':1、 '特別な': 'より良い' 2、:8、 '今':1、 '良い':1、 '複雑':1、 '今': 1、 'シンプル':1、 '複雑':2、 'は':1、 'のpython':1、 '最初の':1、 '道':2、 'と':1、 'ビート':1、 'ハード':、2 '決して': '沈黙'、1:: '明示的に'、1 1、 'で':1、 'から':5 '明白な3' 'ティム':1、「で「:1、 '1':3 '説明':2 'ない限り':2 '十分に' 1 'は' 1 'はず':2 'は':2 '': 6、'フラット':1、 'ルール':1 'だけ' 1}
<クラスのリスト'> 
[、「は、好ましくは」、「で」「の」、「鳴らし」、「あなただ」、「複雑」、「スパース」、「と」、「パス」、「十分な」]


エンド------------ ------------コンテンツを復元

 

手動で次の三つの段落内のテキストでは、リンクの障害を防ぐために、1,2,3

1、

私たちの太陽系の惑星のいくつかは、独特の機能のために有名です。土星は、その不思議な指輪を持っており、天王星は、その多くの衛星を持っており、水星などの惑星がまったく衛星を持たないながら木星は、有名な赤い斑点があります。名声への地球の主な主張は、それはそれコール・ホームへの使用のためにかなり特別な場所作り、どちらも人間の生活のための完璧な条件と単一の月と太陽系で唯一の惑星であることです。しかし、地球は今のところその軌道にぶらぶら別の月を持つことができる可能性があります。CNETは、ツーソン、アリゾナ州カタリナ・スカイサーベイの天文学者が地球の重力にぶらぶら小惑星に目を持っていることを報告しています。これは、地球が2つの衛星を持っているだろうことを意味する、岩のこの体は地球を周回ミニムーンことができている可能性があります。それは右、かなりクールですか?

2、

国務院の共同予防と管理機構27、禁止を導入し、断固として野生動物市場と貿易の違法な仕事を取り締まるために記者会見を開催しました。動物の国家局と野草次長王Weishengの植物防疫課が勃発以来、草の国民局は、最も厳格な野生生物の制御に一連の対策を実施していると述べました。

3、

ティム・ピーターズ美しいことではPythonの禅は、醜いよりも優れています。明示的、暗黙よりも優れています。シンプルは、複雑なよりも優れています。コンプレックスは複雑よりも優れています。フラットは、ネストされたよりも優れています。スパースは密よりも優れています。読みやすカウント。特殊なケースでは、ルールを破るのに十分な特別ではありません。が、実用性は純度を打ちます。エラーが静かに渡すことはありません。ない限り、明示的に沈黙。曖昧さの顔には、推測する誘惑を拒否。それを行うための唯一の--obviousの方法は好ましくあり選ぶ - こととすべきです。その方法は、あなたしているオランダのない限り、最初は明らかではないかもしれないが。今、決してよりも優れています。決してけれども、今* *右より頻繁に優れています。実装が説明するのは難しいであれば、それは悪い考えです。実装が説明するのは簡単である場合、それは良いアイデアかもしれません。名前空間は、素晴らしいアイデアを鳴らし一つです - みましょう」

おすすめ

転載: www.cnblogs.com/flyingtester/p/12375408.html