从 Fortran 中的可变输入文件读取数据

Reading data from variable input files in 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 的 do 循环,但我不知道如何循环遍历可变输入文件,然后获取每个文件的输出

您也可以使用 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