2016-06-27 2 views
-1

나는 정보의 두 열이 들어있는 폴더에 여러 개의 파일이 있습니다 파수와 강도 :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 파일의 강도)이 폴더의 마지막 파일의 첫 번째 파수 먼저 강도를 인쇄 .

저는 파이썬에 익숙하지 않으며이 작업을 수행하는 방법에 대해 완전히 혼란 스럽지만 논리적으로 간단합니다.

답변

0

모든 텍스트 파일에서 작동합니다. 형식 오류를 : 당신은 내가 "(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

데이터 읽기에 대한 자세한 내용을 읽을 수 강요를 유니 코드 : 문자열 또는 버퍼가 필요합니다. " – alli

+0

시도해보십시오."open (i, "r")을 infile로 사용하여 ""rU "를"r "로 바꿉니다. – SAMO

+0

여전히 같은 오류 메시지가 나타납니다. 파일을 문자열로 읽어야합니까? – alli