我这里由一个数据文件sy.dat,文件里面的数据格式如下(有18列,若干行):    0.000 00100011  -0.0014  -0.0010   0.0895   0.0000    52    26    12    12   12.7    7.5    0.8    0.8    91    81    24    25
    0.005 00100011   0.0148   0.0024   0.0520   0.0000    62    24    14    14   14.3    6.8    2.1    2.1    96    67    20    14
    0.010 00100011  -0.0012  -0.0014   0.1032   0.0000    61    28    13    13   14.1    8.1    1.5    1.5    94    91    39    28
    0.015 00100011   0.0099  -0.0007   0.2295   0.0000    66    28    12    14   14.8    8.1    0.8    2.1    90    76    23    36
    0.020 00100011  -0.0057  -0.0012   0.1649   0.0000    64    37    13    12   14.5   10.5    1.5    0.8    92    80    26    16
    0.025 00100011   0.0001  -0.0010  -0.2266   0.0000    61    33     9    12   14.1    9.5   -1.7    0.8    95    92    12    27
    0.030 00100011   0.0031   0.0001  -0.0981   0.0000    52    28    12    14   12.7    8.1    0.8    2.1    94    80    10    33
………………请问如何读取这个数据文件,把这些数据按照行列号转化为二维数组,并能够将第3、4、5列的平局值输出到
syout.txt文件中,应该如何编写代码。
不胜感激。

解决方案 »

  1.   

    Dim Arr(6, 17)Private Sub Command1_Click()For j = 2 To 4
    Total = 0
    For i = 0 To UBound(Arr, 1)
    Total = Total + Val(Arr(i, j))
    Next
    s = s & "第" & j + 1 & "列的平均值是:" & Total / 7 & vbCrLfNext
    Open "C:\syout.txt" For Output As #1   Print #1, s   Close #1
    End Sub
    Private Sub Form_Load()
    Form1.Show
    Print
    Print
    Print
    Form1.FontSize = 10
    Open "C:\sy.dat" For Input As #1
    b = ""
    Do Until EOF(1)
    Line Input #1, nextline
    Print Tab(2); nextline
    b = b & nextline & "|"
    Loop
    Close #1
    a = Split(Trim(b), "|")For i = 0 To UBound(a) - 1
    a(i) = delspace(a(i))
    'MsgBox a(i)
    c = Split(a(i), "*")For j = 0 To UBound(c) - 1
    Arr(i, j) = c(j)
    Next
    Next
    End SubPrivate Function delspace(ByVal str As String)str = Replace(Trim(str), " ", "*")
    str = Replace(str, "**", "*")
    str = Replace(str, "**", "*")
    delspace = str
    End Function
      

  2.   

    还有一问题,如何将读入的文件名作为变量,批量输出处理后的文件。
    我的思路是:1.在一个窗体上建立一个"filelistbox”和一个"command”;
                2.通过在"filelistbox”中选择所需的文件,然后点击"command“,按“顶楼要求处理数据”后生成一个文件;
                3.源数据文件名加上out为处理后的数据文件名,
                   例如原数据文件名为8-1+.dat,处理后的文件名为8-1+out.dat。还请大侠在百忙之中帮帮我解决这个问题,不胜感激。!