CSV로 읽고 최종적으로 데이터 배열에 저장하는 서브 루틴이 있습니다. 그러나 문자열 값을 제대로 읽지 못합니다. 나는 실제 값과 정수 값을 얻을 수 있지만 문자열은 매번 비어있게된다. 데이터 파일은 항상 알 수없는 행 번호가있는 동일한 정확한 형식 (F10.6,1x, I3,1x, A64)을가집니다. 내 출력은 부동 소수점 값 다음에 정수가오고 공백이옵니다. 내가 뭘 놓치고 있니?문자열, 정수 및 실수로 .csv에서 Fortran으로 혼합 된 데이터를 읽는 방법
1.100000,100,TEST STRING
1.106667,100,TEST STRING
1.106667, 48,TEST STRING
1.106667, 14,TEST STRING
그리고 내 코드는 다음과 같습니다 :
내 데이터는 형식으로되어
SUBROUTINE GET_TRIP_DATA(FILENAME, NUMROWS)
CHARACTER(len=256) :: FILENAME
INTEGER NUMROWS, IOSTATUS, I
REAL TIMEVAL
INTEGER PERCENTVAL
CHARACTER TEXTSTR
NUMROWS = 0
OPEN(5,FILE=FILENAME)
DO
READ(5, *, IOSTAT=IOSTATUS) DUMMYV
IF(IOSTATUS .NE. 0) THEN
EXIT
ELSE
NUMROWS = NUMROWS + 1
ENDIF
ENDDO
WRITE(ITERM,*) 'NUMROWS IS: ', NUMROWS
REWIND(5)
DO I=1,NUMROWS
READ(5, 901, IOSTAT=IOSTATUS) TIMEVAL, PERCENTVAL, TEXTSTR
WRITE(ITERM,901) TIMEVAL, PERCENTVAL, TRIM(ADJUSTL(TEXTSTR))
ENDDO
CLOSE(5)
RETURN
901 FORMAT (F10.6,1x,I3,1x,A64)
ENDSUBROUTINE
그러면 출력은 무엇입니까? 정확한 양식을 보여줄 수 있습니까? –