2016-09-26 17 views
1

私は初心者の方で、それ以外の場合は単純な "ループ"問題に戸惑うことがあります。私はx個のファイル(約500個の.txtファイル)でローカルディレクトリを持っています。 RAKE for Pythonを使って各固有のファイルから対応するキーワードを抽出したいと思います。私はRAKEのドキュメントを見直しました。ただし、チュートリアルの推奨コードでは、単一のドキュメントのキーワードを取得できます。誰かが私のローカルディレクトリに格納されているX個のファイルをループする方法を私に説明してもらえますか?ここでは、チュートリアルのコードとそれは本当にうまく単一のドキュメントのためのコードです。Python_RAKEでのキーワード抽出

$git clone https://github.com/zelandiya/RAKE-tutorial 

import rake 
import operator 

rake_object = rake.Rake("SmartStoplist.txt", 5, 3, 4) 

sample_file = open("data/docs/fao_test/w2167e.txt", 'r') 
text = sample_file.read() 
keywords = rake_object.run(text) 
print "Keywords:", keywords 
+0

ことのリンクですチュートリアル:https://www.airpair.com/nlp/keyword-extraction-tutorial – Panoid

+0

どのキーワードがどのドキュメントから来たのかを確認するのに気をつけますか? –

+0

はい、ドキュメントとキーワードの両方を識別できるように、キーワードのリストとして表示されます。 – Panoid

答えて

1

処理したいファイル名のリストを作成します。

filenames = [ 
    'data/docs/fao_test/w2167e.txt', 
    'some/other/folder/filename.txt', 
    etc... 
] 

あなたはすべての名前をハードコーディングしたくない場合は、ワイルドカードでファイル名を収集するためにglobモジュールを使用することができます。ファイル名をキーと、各ファイル名を通じて

results = {} 

ループの内容を読み取り、辞書内のレーキ結果を格納:

結果を格納するための辞書を作成します。ここ

for filename in filenames: 
    with open(filename, 'r') as fp: 
     results[filename] = rake_object.run(fp.read()) 
+0

ありがとう、これは本当にうまくいきます! – Panoid

関連する問題