2016-06-27 6 views
-1

で、私は情報の2つの列を含むフォルダ内の複数のファイルがあります:波数と強度:iteraingと値を比較するtxtファイルパイソン

500.21506 0.01093 
500.45613 0.02135 
500.69720 0.01043 
500.93826 0.01997 
501.17933 0.01335 
501.42040 0.01579 
501.66147 0.01749 
501.90253 0.01256 
502.14360 0.02054 
502.38467 0.01011 
502.62574 0.02108 
502.86680 0.01132 
503.10787 0.01854 

私はラインで各ファイルの行を読みに私のコードを必要とし、もし波数はあらかじめ設定された低波数と高波数の間にあり、波数に関連する強度を書きます。今私はこれがあります。

with open(files[count], 'r') as g: 
    for line in g: 
     parts = map(float, line.split()) 
     if parts[0] >= lowwav and parts[0] <= highwav: 
      f.write(parts[1]) 
      f.write('\n') 
     else: break 

を、私はプリントparts[0](txtファイル内波数)または印刷parts[1](txtファイル内の強度)を命じる際には、フォルダの最後のファイルでのみ最初の波数と第1の強度を出力します。

私はPythonには新しく、これを行う方法について完全に混乱していますが、論理的には単純です。

答えて

0

これはどのテキストファイルでも機能します。 TypeError例外を:あなたは、私が "(RU」INFILE iとして、)オープンと に、ライン60、 "エラーメッセージ" ファイル" readinfo1.pyを得た here

import glob 
x = [] 
for filename in glob.iglob('/Path_to_File/*.txt'): 
    x.append(filename) 

wave_list = [] 
for i in x: 
    with open (i,"rU") as infile: 
     lines = infile.read().split('\t')    
     for row in lines: 
      if row[0] < High_wave and row[0] > Low_wave: 
       wave_list.append(row[1]) 
+0

データの読み込みについての詳細を読むことができる強制変換をUnicodeに必要な文字列またはバッファファイルが見つかりました。 " – alli

+0

これを試してください:" open(i、 "r")をinfileとして: "rU"を "r"に置き換えてください。 – SAMO

+0

にも同じエラーメッセージが表示されます。ファイルを文字列として読み込む必要がありますか? – alli

関連する問題