2017-10-18 7 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

を得ることはありませんreadおよびwriteもあります。だから私はこのような何かをしたいと思います:

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、その作業は今完璧です。このコードからすべての出力を取り出し、1つのcsvファイルに出力するにはどうすればよいですか? –

関連する問題