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

时间:2017-10-18 01:46:45

标签: loops variables fortran fortran90 do-loops

我正在尝试从输入文件中读取数据(实际上是多个文件),然后对每个文件的数据执行某些操作,并将每个输入文件的输出打印到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 个答案:

答案 0 :(得分: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