코드는 do-loop로 구성되어 있으며 실행되는 동안 데이터 배열을 작성합니다. 이 배열을 파일에 새 열로 추가해야합니다.Fortran : 열 당 열을 파일에 추가하십시오.
첫번째 컬럼 (파장)에 고정되고, 두 번째는 제 런 생성된다
OPEN (unit=11,file=filename // '.csv')
WRITE(11,'(i4,A1,f10.6)') (lambda(ii),tab,resv(ii), ii=1,nw)
CLOSE(11)
, λ는 파장 (4 자리)이며, 탭 문자로 선언 (9)과 RESV있다 내 데이터 (플로팅). 배열은 nw=2000
개의 항목으로 구성됩니다.
스크립트를 처음 실행하면 MS Excel에 .csv 으로로드 할 수있는 좋은 결과를 얻을 수 있습니다. 그러나 스크립트는 루프의 시작 부분으로 돌아가서 새 데이터를 계산하고 변경된 "resv"항목을 저장합니다 새 열로 내가
WRITE(11,'(T17,i4,A1,f10.6)') (lambda(ii),tab,resv(ii), ii=1,nw)
처럼 갈 때
는 그러나 새로운 데이터는 실제로 열 (17)에 저장되어 있지만 모든 데이터가 전에 제거되고 있습니다! Fortran에 새 열을 "추가"한다고 어떻게 말할 수 있습니까?
* 프로그램에서 파일을 편집 * 할 수 없습니다. 이전 데이터로 파일의 이름을 바꾸고 이전 파일을 읽고 이전 데이터와 새 데이터로 새 파일을 작성합니다. 작업이 끝나면 이전 파일을 삭제하십시오. – cup
이것은 http://stackoverflow.com/questions/24157423/fortran-add-column-to-file-ie-skip-a-varying-amount-of-horizontal-spaces와 너무 유사합니다. 업데이트/수정하십시오. 원래의 질문 – steabert
물론 동일합니다. 동일한 코드에는 두 가지 문제가 있습니다. 마지막 질문에 대한 대답은 여기에 오기까지 필요했습니다. 그러나 그것은 최종 해결책이 아닙니다. 이것이 내 실제 문제입니다. – offeltoffel