2011-09-09 15 views
-3

私は以前の投稿でいくつかの変更を加えた後に再転記しています。以前に提案したすべての人に感謝します。私はまだそれに問題があります。Python:特定の文字列をファイルから削除する

私は、文字列の特定のリスト(文字列を削除する)をスクラブしなければならないデータファイル(構造化されていないファイル)を持っています。ここで

は私がやっているものですが、無い結果:私は、ファイルを実行すると

infile = r"messy_data_file.txt" 
outfile = r"cleaned_file.txt" 

delete_list = ["firstname1 lastname1","firstname2 lastname2"....,"firstnamen lastnamen"] 

fin = open(infile,"") 
fout = open(outfile,"w+") 

for line in fin:  
    for word in delete_list:   
     line = line.replace(word, "")  

    fout.write(line) 

fin.close() 
fout.close() 

、私は次のエラーを取得する:

NameError: name 'word' is not defined 
+1

コードは本当にインデントされていませんか?それはPythonでは動作しませんが、私は別のエラーメッセージを期待します。 – geoffspear

+0

あなたの字下げは、Pythonスクリプトにとっては非常に奇妙です。 (ここでコードをコピー/ペーストしてから、コードとしてフォーマットするにはCtrl + Kを押します) –

+0

Pythonは空白に敏感で、実行中のものを知るのは難しいので、コードをそのまま実行してくださいあなたが投稿したコード。 –

答えて

1

私はあなたのエラーを複製することができないんです。私はあなたのコードを取得するエラーは、空のモード文字列です - "r"を置くか、またはそれを削除すると、既定の読み取りです。

Traceback (most recent call last): 
    File "test.py", line 6, in <module> 
    fin = open(infile, "") 
ValueError: empty mode string 

それ以外の場合は、正常です。

関連する問題