爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2139|回复: 3

[求助] Fortran读入文件的问题

[复制链接]

新浪微博达人勋

发表于 2015-8-20 21:12:29 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
在用fortran读数据后再输出时出现了sever(24)的问题
之后用想用简单的读取语句检测是什么问题

数据是由csv格式转成的txt格式,有一个是逗号分隔,另一个是空格分隔数据是59945*7,这里只试验了前20行


编的程序如下:
program torn
implicit none
integer,parameter::n=20,m=7
integer i,j,tst
dimension torna(n,m)
real torna
open(100,file='test.txt')
do i=1,n
  do j=1,m
  read(100,10,err=200,iostat=tst)torna(i,j)
  print*,tst
  if(tst/=0) exit
  enddo
enddo
!read(100,*)torna
10 format(I5)
200 print*,i,j
!print*,torna(1,1)
close(100)
end


结果输出的tst都为-1,不知道是不是文件中数据的分隔有问题。。

也尝试过只读一个数据,也就是(1,1),得到的结果也是有sever(24)错误的


先谢谢各位啦~~~~~

逗号分隔

逗号分隔

空格分隔

空格分隔
结果.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-21 04:45:53 | 显示全部楼层
你的read 语句有问题。赶紧查书!你这样的do 循环使得read每次都从新的一行开始读。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-8-21 11:25:32 | 显示全部楼层
ningking1986 发表于 2015-8-21 04:45
你的read 语句有问题。赶紧查书!你这样的do 循环使得read每次都从新的一行开始读。

read语句在读写一次后不是默认自动换行吗?
我也查过书了,看到的例子也是用循环读取数据的,
后来改成循环行,读入7个数组,也是不可以,
实在不知道应该怎么改,还请说一下改正方法或者例子,十分感谢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-22 06:41:11 | 显示全部楼层
600兜兜小姐 发表于 2015-8-21 11:25
read语句在读写一次后不是默认自动换行吗?
我也查过书了,看到的例子也是用循环读取数据的,
后来改成 ...
  1. program torn
  2. implicit none

  3. integer,parameter::n=3,m=7

  4. integer i,j,tst

  5. !dimension torna(M,N)
  6. real, DIMENSION (M,N) ::torna
  7. REAL, DIMENSION (N,M) :: RES

  8. open(UNIT=100,file='Text1.txt',ACTION='READ',STATUS='OLD',IOSTAT=TST)

  9. IF (TST /= 0) THEN
  10.     WRITE(*,*)'OPEN FAILED!'
  11. ELSE
  12.     WRITE(*,*) 'OPEN FILE CONDITION:',TST
  13.    
  14.     READ(100,*,IOSTAT=TST) torna
  15.    
  16. END IF
  17. WRITE(*,*) 'READ CONDITION:',TST
  18. RES=TRANSPOSE(TORNA)
  19. !read(100,*)torna
  20. !10 format(I5)
  21. !200 print*,i,j
  22.    
  23. print*,torna
  24. WRITE(*,'(7F7.2)') ((RES(I,J),J=1,7),I=1,3)
  25. close(100)
  26. end PROGRAM TORN
复制代码

输入文件是你数据的前三行。
你是不是程序里写的输入文件名跟你实际的输入文件名不符啊,那个出现-1就是读取失败啊。
查看下你的文件名是否对应。
另外,上面这个程序只是测试下能否读取,不一定是最快捷的方式,仅供参考!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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