Fortran Coder

查看: 11455|回复: 2
打印 上一主题 下一主题

[文件读写] 批量循环读取predict文件

[复制链接]

1

帖子

1

主题

0

精华

新人

F 币
16 元
贡献
6 点
跳转到指定楼层
楼主
发表于 2016-6-17 17:18:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
现在我要读取循环predict文件,用时间文件date作为读文件的路径一部分,并用时间文件控制要读哪个文件,我调用下面的程序能输出outputfile1(j),outputfile2(j)实现吗?代码如下:    谢谢老师!

[Fortran] 纯文本查看 复制代码
subroutine timefileprepare(Began_time,finish_time,deltminute,outputfile1,outputfile2,sizeoffile,totaltime)
integer Began_time,finish_time,deltminute,totaltime
integer datelength,sizeoffile
integer minutestep,hourstep,tempint
character(90) date1char,date2char,timechar,temp_char  !(sizeoffile)
character outputfile1(4300),outputfile2(4300)
integer dateofile(25000)
integer date1,date2,time 
integer TIMELENGH
         !________截取时间段_____________________
          open(11,file="date.txt")
      i=0 
          do while(.not.eof(11)) 
            i=i+1              
        read(11,*) dateofile(i) 
          enddo 
      !do i=1,4246
      !  read(11,*) dateofile(i)
      ! enddo
      close(11)        

          TIMELENGH=4246
      minutestep=deltminute

          j=0
      do i=1,TIMELENGH
        if (((dateofile(i)).GE.(Began_time)).and.((dateofile(i)).LE.(finish_time))) then
              j=j+1
          ! k=j
              date1=int(dateofile(i)/10000)+2*10**7              !20150427  适用于实际降水文件
          date2=int(dateofile(i)/10000)+2*10**7+2*10**9    !2020150427  适用于预报文件
              time=dateofile(i)-int(dateofile(i)/10000)*10000  !10000
              if(time.LE.1000) then
              write(temp_char,"(I4)") time
              timechar="0"//trim(temp_char)
              end if
                  write(timechar,"(I4)") time                    ! 0730
          write(date1char,"(I8)") date1                  !20150427
                  write(date2char,"(I10)") date2                 !2020150427

                  outputfile1(j)=trim(date1char)//"_"//trim(timechar(2:5))    !20150427_0730
                  outputfile2(j)=trim(date2char)//"_"//trim(timechar(2:5))  !2020150427_0730
            end if 
      end do



1.png (54.24 KB, 下载次数: 225)

date.txt文件

date.txt文件

8.png (171.83 KB, 下载次数: 210)

要读取的文件

要读取的文件
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

801

帖子

2

主题

0

精华

大宗师

F 币
3804 元
贡献
2273 点
沙发
发表于 2016-6-18 10:18:14 | 只看该作者
本帖最后由 li913 于 2016-6-18 10:19 编辑

Fortran Coder(群号: 2338021)
里面有 批量处理文件 的教程。也可参考
http://fcode.cn/code_gen-97-1.html
http://fcode.cn/code_gen-12-1.html

QQ截图20160618101735.jpg (43.87 KB, 下载次数: 198)

QQ截图20160618101735.jpg

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2016-6-18 16:29:21 | 只看该作者
文件名在语法里,视为字符串,所以你可以用一切支持字符串的用法和函数来处理文件名,实现批量读写。

你可参考楼上给出的页码,也可以观看本站的视频教程应用篇第一期 http://v.fcode.cn
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-17 15:12

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表