2012-09-17 66 views
1

我是新来的Fortran,我想写一个程序来读取.txt文件,其中我有24480行和〜6000列。 在每行(作为个体)中,我有基因型如1和2所示,例如,如果在第一行中,我有204种基因型,这种基因型的前半部分(= 102)属于个体的父系,基因型属于个体的大坝。另外每行的值不相等。那么,我该如何定义Fortran以逐行读取此文件,并将每行分为两部分,并将每个元素(i)放在均值+ i旁边。行阅读和编辑在Fortran 90

例如我展示我的文件的两行简短: ROW1:112122121112122111112121111211122121111121和 2行:21112111112112222121112121211121221212121111121112 1212

等。 任何帮助将提前感激。

+0

尝试用正确的标签。你将有更大的回答机会。 –

+1

对不起,你能清楚地指出你想要的结果。最好展示一个例子结果。 –

+0

首先我想读取并输入我的数据从文本文件到fortran并选择感兴趣的基因型,其次,选择感兴趣的个体,最后为选定的基因型和个体生成一个基因型文件,例如作为2维矩阵。 – user1677032

回答

2

你需要阅读每行一个字符串,获取其长度与LEN_TRIM(),然后读取每个半到整型数组:

 character*10000 line 

    read(unit,'(a)')line 
    len=len_trim(line) 
    read(line,'(10000i1)')a(:len/2),b(:len/2)