Fortran Coder

标题: 逐个数据的读取 [打印本页]

作者: jojo9    时间: 2021-9-14 15:38
标题: 逐个数据的读取
想将文件中的数据,从左到右,从上到下的顺序,读入成一维数组,但文件中每行的数据个数有变化(如图)
之前的想法是每行每行读取存到m*n的数组(m,n文件中每行每列数据个数),然后再改为一维数组,但是文件里面每行数据有变化就不适用了 。
[Fortran] 纯文本查看 复制代码
    ....
    do ....
        read(filename, "(a256)") cline
        read(cline, *) array(i: i+n)
    enddo

有什么好的方法能单个单个地将数据读入吗?直接给一维数组赋值。

捕获.PNG (28.27 KB, 下载次数: 218)

捕获.PNG

owner - 副本.txt

276 Bytes, 下载次数: 2


作者: jojo9    时间: 2021-9-14 17:29
我这个文件里数据除了最后一行,其他都是10个数据,最后一行数据个数由文件总数据量决定(总数据量-前面行数*10个),我是这么读的
[Fortran] 纯文本查看 复制代码
    ....
    mod_n=mod(nowner,10)  !// 10 each row, mod_n: remaining number of last row
    j=1                   !//j: index of ARRAY owner, assigning 10 values each time
    do i=1, nowner/10
        read(FILENAME, "(a256)") cline
        read(cline, *) owners(j: j+9)
        j=1+10*i
    enddo
    read(FILENAME, "(a256)") cline
    read(cline, *) owners(nowner+1-mod_n: nowner)
    .....

先读前面的每一行,10个10个的读入一维数组,最后把最后一行数据读入数组。

求教各位大佬,如果每一行的数据个数都是变化的,有什么合理的方式进行读取吗?
作者: 胡文刚    时间: 2021-9-14 21:58
read(filename, *) owners
作者: jojo9    时间: 2021-9-14 22:32
胡文刚 发表于 2021-9-14 21:58
read(filename, *) owners

我人都傻了




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2