我正在尝试从输入文件中读取数据(实际上是多个文件),然后对每个文件的数据执行某些操作,并将每个输入文件的输出打印到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做一个循环,但我不知道如何循环变量输入文件然后获取每个文件的输出
答案 0 :(得分: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