[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Help with reading structure from file



In the loosing battle with the Excel users, the latest direct hit was reading
in a file that contained strings and numeric data in each line. Having given
up (and as the only hold out against Excel!), I need HEEELLLPPP.

This is the simplified problem. I am trying to read data in the following
format:

    001a  312.194   76.922  296.301   21.462    0.453  289.515    0.957
    001b  363.748  106.090  506.188   19.430    0.528  347.252    1.176
    001c  398.248  138.541  724.470   17.152    0.578  383.534    1.701
    002a  294.593   28.525  248.744    8.532    0.428  290.497    1.268
    002b  353.415   46.290  449.015    7.974    0.513  349.565    2.011
    002c  401.279   80.260  661.701    3.341    0.582  395.403    4.529
    ....
    ....

i.e. in the format "(4x,a4,7f9.3)". I would like it to go into a 2 dimensional
structure.

I cannot find a way of reading it as a entire array. At present, all I can
come up with is


      nsets = 108               ; number of lines of data
      f1 = "(4x,a4,7f9.3)"
      a = string(4)
      y = fltarr(7)
      dpt = { fullrow, id: ' ', x: fltarr(7) }
      fulldata = replicate( {fullrow}, nsets)

      openr, 1, 'data'
      for i=0,nsets-1 do begin
          readf, 1, format = f1, a, y
          fulldata(i).id = a
          fulldata(i).x = y
      endfor
      close, 1

Is there any way of avoiding the temporary variables and the loop? I am
using PV-Wave CL, Ver 6.
-- 

Surendar Jeyadev         jeyadev@wrc.xerox.com