Fortran批量处理数据文件两种方法(2)

利用Fortran批量处理多个文件

第二种:适合文件在同一文件夹内,如下图:

首先,将该目录下所有文件的“文件路径和文件名”写入到一个文本文件(name.txt)中,具体方法如下:

1、建立一个txt文件,写入如下代码:

DIR /S/B >name.txt 

2、将文件后缀改为.bat

3、运行*.bat文件

4、打开输出的name.txt文件,将非将要处理的文件路径删除。如下图,将后两行数据删除:

5、保存后退出。

利用Fortran读取name.txt文件,每一行即为要读取的数据文件;利用Fortran读取每一行后,打开该行的数据文件,进行相关操作,具体如下:

代码:

program read_co2
implicit none

integer in_n
character(len=80) filename_r
character(len=80) filename_name
integer num_line_name
!!!!!!!!!!将存放数据文件路径和文件名的文件写入变量filename_name中
write(filename_name,*) 'E:*****\name.txt'
!!!!!!!!!!调用子程序计算存放数据文件路径和文件名文件的行数
call calculate_numline_2(filename_name,num_line_name)

open(2000,file=filename_name)
do in_n=1,num_line_name     !!!!!!!!!!do 起始,从1到文件最后一行
read(2000,*) filename_r     !!!!!!!!!!do 读取数据文件路径和文件名

print*,filename_r

open(20,file=filename_r)
read(20,*)
read(20,*)
close(20)

end do  !!!!!!!!!!!!!!!end终止
close(2000)
end

运行结果如下:

其中计算文件行数的子程序如下:

!!!!!!!!!!!!!!!!!!!!!!!!!!子程序——计算文件行数(无需剔除开头几行)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine calculate_numline_2(filename,num_line)

character(len=80) filename
integer num_line

num_line=0

open(1000,file=filename)
do while(.not.(eof(1000)))
  read(1000,*)
  num_line=num_line+1
end do
close(1000)

end subroutine calculate_numline_2

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值