回 帖 发 新 帖 刷新版面

主题:Fortran读数据文件的问题

请教各位,经常碰到读数据文件需要用到里面数据的行列,原先做法是在txt文本文件里面查询,能否用自动查询?(很菜的问题)

回复列表 (共12个回复)

沙发


原先做法是在txt文本文件里面查询,指的是人工查询?
具体要实现什么功能?不妨弄个txt文件举例说明。

板凳

我原来在txt里是人工查询,通过状态栏查看数组有多少行多少列,我的意思是能不能在FOR里加一段语句让它自动获得有多少行多少列,而不用我手动查询?

3 楼

[quote]我原来在txt里是人工查询,通过状态栏查看数组有多少行多少列,我的意思是能不能在FOR里加一段语句让它自动获得有多少行多少列,而不用我手动查询?[/quote]


多少行需要知道吗?一行一行读完不就行了么?主要需要多少列吧?列宽整个文本一致么?叫你具体拿个具体文本出来你又不拿,那样也帮不了你。

4 楼

像这样的数据,不知道多少行,也不知道多少列,并且不等列的,
13605, 9706, 9698, 9728, 3206, 3198, 3228
13606, 9741, 9743, 9745, 3241, 
13607, 9715, 9717, 9735, 3215, 3217, 3235
13608, 9729, 9738, 9742, 
13609, 9697, 9708, 9731, 3197, 3208, 3231
13610, 9737, 9723, 9743, 3237, 3223, 

如何读取呢?

5 楼


数据总数知道么?

6 楼


不知道呢

7 楼


那这样的数据文件什么意义呢?读是可以读,但是读出来的数据代表什么?

8 楼

这个自然有用的   请高手不吝赐教 !!

9 楼


参考http://bbs.pfan.cn/post-349349.html。

10 楼

[quote]像这样的数据,不知道多少行,也不知道多少列,并且不等列的,
13605, 9706, 9698, 9728, 3206, 3198, 3228
13606, 9741, 9743, 9745, 3241, 
13607, 9715, 9717, 9735, 3215, 3217, 3235
13608, 9729, 9738, 9742, 
13609, 9697, 9708, 9731, 3197, 3208, 3231
13610, 9737, 9723, 9743, 3237, 3223, 

如何读取呢?[/quote]

            character aline*256
     dimension mdata(256)
    do 20 ikk=1,100000
            read(1,'(a)',end=21) aline
            iadd=1
            do 10 i=1,256
            if(aline(i:i).eq.',') iadd=iadd+1
10      continue 
      read(aline,*) (data(k),k=1,iadd)
20    continue 
21    continue
      end 

我来回复

您尚未登录,请登录后再回复。点此登录或注册