ASCII file 읽는 법

게시판 IDL Q&A ASCII file 읽는 법

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #5394 Reply
      JAEHEE
      회원

      안녕하세요 항상 도움 감사히 받고 있습니다.

      이번엔 readcol을 이용해 ASCII 파일을 읽어보려고 하는데요,
      delmiter=’-:T ‘ 이렇게 하면, 뒤의 – 부호도 함께 없어져 버리더군요.
      이 파일을 읽을 때 좋은 방법이 없을까요?

      A 2014-01-11T00:00:00.217 5124 217 -83.901 130.261 522.065 6879.061 64.5 -126 171260 3464 -1.804 10
      A 2014-01-11T00:00:00.716 5124 716 -83.872 130.372 522.063 6879.061 64.4 -126 167335 3860 -1.779 10
      A 2014-01-11T00:00:01.217 5124 1217 -83.843 130.483 522.061 6879.061 64.4 -126 169759 3036 -1.834 10
      A 2014-01-11T00:00:01.716 5124 1716 -83.814 130.593 522.058 6879.061 64.4 -127 169441 3514 -1.745 10

    • #5395 Reply
      JAEHEE
      회원

      하나만 더 질문하겠습니다.
      위의 파일을 급한대로 이렇게 읽었는데요

      readcol,infile1,iyr,mon,idm,ihr,min,sec,msec,t,longi,lat,heig,radi,sza,saa,ne1,te,scp,f, $
      delimiter=’-:T ‘,FORMAT=’XFFFFFFFFFFFFFFFFFF’,/SILENT
      scp2=-scp

      for j=0,nb0-1 do begin
      printf, r1, iyr[j],mon[j],idm[j],ihr[j],min[j],sec[j],heig[j],radi[j],ne1[j],te[j],scp2[j],f[j], $
      format='(i4,2i3,2i3,f7.2,2f9.3,2i10,f13.3,i5)’
      endfor

      실제로 코드를 돌려본면,

      % Expression must be a scalar in this context:
      <LONG64 Array[1]>.

      이러한 오류가 나옵니다.

      어떻게 해결할 수 있을까요?

    • #5396 Reply
      ChoiYoun
      회원

      안녕하세요. 첫번째 질문에 대한 답변만 달아봅니다.

      아래와 같은 방식으로 시간 부분을 문자열로 읽은 후 STRMID 함수를 이용해 분리하면 어떨까 싶습니다.

      file = ‘./test.txt’
      readcol, file, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, var12, var13, var14, $
      FORMAT = ‘(A, A, F, F, F, F, F, F, F, F, F, F, F, F)’

      year_arr = STRMID(var2, 0, 4)
      month_arr = STRMID(var2, 5, 2)
      day_arr = STRMID(var2, 8, 2)
      hour_arr = STRMID(var2, 11, 2)
      minute_arr = STRMID(var2, 14, 2)
      second_arr = STRMID(var2, 17, 6)

      READCOL과 같은 외장 라이브러리 프로시저를 이용하는 것 외에도 내장함수를 이용하여 읽는 방법도 있는데, 이는 이상우 박사님 블로그 글을 참조하시면 도움이 될 수 있을 것 같습니다.

      http://blog.daum.net/swrush/252(클릭)

      • 이 답변은 ChoiYoun에 의해 5 years, 5 months 전에 수정됐습니다. 이유: FORMAT 변경
2 답변 글타래를 보이고 있습니다
'ASCII file 읽는 법'에 답변달기
글쓴이 정보: