2017-03-29 7 views
0

나는 hdr 파일에서 행을 구문 분석하는 데 어려움을 겪고 있습니다. 아래의 코드처럼 read (data)를 출력하면 명령 창에서 hdr 파일의 내용을 출력합니다. 그러나 아래 스크립트와 같이 줄이나 열을 구문 분석하려고하면 명령 창에 아무 것도 출력되지 않습니다.ASCII HDR 파일에서 행 구문 분석하기 python

import numpy as np 
import matplotlib.pyplot as plt 

f = open('zz_ssmv11034tS__T0001TTNATS2012021505HP001.Hdr', 'r') 
data = f.read() 
print (data) 

for line in f: 
    columns = line.split() 
    time = float(columns[2]) 
    print (time) 

f.close() 

답변

0

이 두 줄을 제거하고 다시 코드를 실행 :

data = f.read() 
print (data) 

을 다음 변경 루프 :

for line in f.readlines(): 
    columns = line.split() 
    time = float(columns[2]) 
    print (time) 

이 (읽기 호출)를 전체 파일을 판독하고 커서를 잎 파일의 끝에 (읽는 것이 더 이상 없다). 당신이) 당신이 작성한 Readline을 (사용할 수있는 시간에 라인의 특정 숫자를 읽을 찾고 있다면, readlines 메쏘드는()

`영향을주지 않습니다 포스트 Why can't I call read() twice on an open file?

+0

라인'인쇄 (데이터)를 제거 읽기; 커서는 이미 해당 지점의 파일 끝에 있습니다. – DSM

+0

그는 "명령 창 아래에있는 코드 에서처럼 read (data)를 출력하면 hdr 파일의 내용을 출력합니다"라고 말하면 커서가 파일 끝을 가리킨 후에이 줄을 제거하고 다시 시도하십시오. – RaminNietzsche

+1

답변이 시작됩니다. "이 행을 제거하십시오 :'print (data)'". 그렇게하면 절대 바뀌지 않을 것입니다. – DSM