readf오류 파일 한번에 여러개 읽기!!

게시판 IDL Q&A readf오류 파일 한번에 여러개 읽기!!

태그: 

이 게시글은 2개 답변과 2명 참여가 있으며 마지막으로  mouse에 의해 1 월, 2 주 전에 업데이트 됐습니다.

  • 글쓴이
  • #5372

    mouse
    회원

    안녕하세요 처음 질문합니다! 떨리네요 ㅎㅎ
    제가 대기자료를읽어서 평균을 내려고 하는데요 자료파일이 .dat 형식으로 한파일당 1년 총파일 10개를 읽으려고 합니다
    tsp-90.dat 부터 tsp-99.dat 있고 그래서 for구문으로 한번에 10개를 읽고자 아래와 같은 코드를 짰습니다.
    실행한 결과, 그런데 tsp-90.dat은 잘 읽혀서 avg_90s[0]은 제대로 저장이 되는데 tps-91.dat부터 읽히지가 않습니다.
    다음은 오류 메세지
    % READF: End of file encountered. Unit: 101

    감사합니다.

  • #5373

    mwkim
    회원

    안녕하세요.

    몇 가지 확인해보시면 좋을 부분을 알려드립니다.

    1. 반복문으로 구동하지 않고 두번째 파일(tps-91.dat)만 잡아서 코드를 구동할 때, 동일한 증상이 발생하는 지 확인

    1-1. 두번째 파일만 넣어도 동일한 문제가 발생하는 경우는 첫번째 파일(tps-90.dat)과 차이를 확인
    (아마도 파일을 열어서 보면 일부 자료나 컬럼이 빠져있거나, 잘못된 구분이 되있거나 할 것 같습니다.)

    1-2. 두번째 파일만 넣을 때는 잘 된다면, file_90s 변수나 file 변수를 표출하여 파일이 제대로 설정되는지 확인
    (사실 이 부분은 문제없어 보입니다.)

    2. 그리고 IDL 개발환경(idlde)에서 진행하면 위와 같은 오류메세지가 나오더라도 일단 array에 자료가 들어 있을 겁니다.
    (에러메세지는 읽으려고 하는 변수에 비해 파일에 기록된 내용이 적다는 내용)
    따라서 오류가 나서 멈추었을 때 array 자료를 표출해보면 자료가 어떻게 읽히고 어디까지 읽혔는지 확인할 수 있습니다.

    위에 알려드린 것처럼 idlde에서 작업 진행하시면 작업 중간에 변수 등을 확인할 수 있기 때문에

    에러가 동일한 부분에 발생되면 에러 전후에 STOP 명령어를 두어 변수 값을 확인하시면 도움이 되실 겁니다.

    감사합니다.

  • #5375

    mouse
    회원

    감사합니다

답변은 로그인 후 가능합니다.