2017-10-18 151 views
0

我試圖從輸入文件(實際上是多個文件)中讀取數據,然後對每個文件的數據執行某些操作並將每個輸入文件的輸出打印到輸出中Fortran語言,從Fortran中的變量輸入文件中讀取數據

所以它是這樣的..

Open (20, file="a0001.csv) 
[perform operation on this file] 
print output0001.txt 

input files :a0001.csv,a0002.csv,...a0100.csv

outputfiles :output1.txt, output2.txt,.... output100.txt

我想爲約100個文件執行此操作。

我想爲1-100做循環,但我不知道如何通過可變輸入文件循環,然後得到每檔

回答

1

的輸出可以用數字和他們的字符串表示之間進行轉換readwrite也是如此。所以我會做這樣的事情:

character(len=len('a0001.csv')) :: infile 
character(len=len('output100.txt')) :: outfile 

do i = 1, 100 
    write(infile, '("a", I4.4, ".csv")') i 
    write(outfile, '("output", I0, ".txt")') i 

    open(unit=20, file=infile, status="old", action="read", ...) 
    open(unit=30, file=outfile, status="new", action="write", ...) 

    !loop over contents of infile, write to outfile 

    close(30) 
    close(20) 
end do 
+0

謝謝@ chw21,它現在工作完美。如何從此代碼獲取所有輸出並打印到一個csv文件? –