파일 읽기 관련 질문

게시판 IDL Q&A 파일 읽기 관련 질문

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #2183 Reply
      knightflow
      회원

      안녕하세요.

      파일 읽는 방법 관련해 질문드립니다.

      이제까지 계속 readcol 함수를 이용하여 파일을 불러왔는데요.

      이게 요즘 사용하려는 한 파일은 제대로 읽지 않는 것 같습니다.

      파일은 45열에 대략 8만행의 테이블 형태의 자료인데요.

      만약 fmt=’a,d,d,x,x,x……’ 이런 형태로 주고(즉, 3개 열만 읽고 나머진 무시)

      readcol, ‘filename’, f=fmt, f1, f2, f3

      하면 읽히는데요,

      fmt도 각 열 마다 다 지정해주고,

      readcol, ‘filename’, f=fmt, f1, f2, f3…….., f45

      형태로 모든 열을 다 지정하니 파일이 읽히지 않고 스킵하다가 중간쯤부터 읽힙니다.

      최종적으로 원하는 것은 저렇게 열로 읽은 데이터를 다중 배열, 즉 45×80000 형태의 배열로 저장 후
      사용하려고 합니다. 저 데이터 중에서 필요한 데이터와 필요없는 데이터를 구분하여 골라낸 후 필요한 데이터만 따로 저장하려고 하는데, 그 과정에서 주로 쓰이는 데이터는 2번과 3번 열에 있는 데이터입니다. 근데 최종적으로 저장을 할 데이터는 모든 열의 데이터라서 저렇게 한 배열로 저장후 다루는 게 편하다고 생각되어 위의 방식대로 하려고 하는데 파일이 제대로 읽히지가 않네요.

      뭐가 문제인지 몰라 질문드립니다.

      • 이 게시글은 knightflow에 의해 9 years, 6 months 전에 수정됐습니다.
    • #2186 Reply
      Jonghyuk
      회원

      1. /PRESERVE_NULL 키워드가 도움이 되지 않을까 생각합니다. 열과 열을 구분하는 것이 콤마 등으로 명확하다면 이 키워드가 유용하게 사용됩니다.
      2. 앞의 세열만 읽으실 거라면, format=’A,D,D’ 까지만 써 주셔도 됩니다. 뒤쪽으로 사용하지 않는 X는 굳이 필요하지 않습니다.

      SKIP 하는 행들을 리포팅할텐데, 그 행을 찾아 보시면 뭔가 건너뛰는 이유가 있지 않을까 생각됩니다. 제 추정은 1번과 관련이 있는 것 같습니다. 만일 단순 띄어쓰기로 된 파일이라면, 값이 없는 부분은 READCOL로 처리하기 어렵습니다. 어디까지가 한 컬럼이냐를 결정할 방법이 없기 때문입니다.

1 답변 글타래를 보이고 있습니다
'파일 읽기 관련 질문'에 답변달기
글쓴이 정보: