Re: read_ascii for more than one file [message #55508 is a reply to message #55506] |
Thu, 23 August 2007 23:33   |
britta.mey
Messages: 14 Registered: August 2007
|
Junior Member |
|
|
On Aug 23, 6:56 pm, Conor <cmanc...@gmail.com> wrote:
> On Aug 23, 12:24 pm, b...@uni-mainz.de wrote:
>
>
>
>> Hello,
>
>> i'd like to read arrays (3 columns, 2072758 lines ) from more than one
>> file do get some kind of data(k) where k (k=146) is the number of
>> files and data is the array.
>
>> For one file it works quite well with:
>
>> data = read_ascii(file) & data = data.(0)
>> g = data[0, *]
>> r = data[1,*]
>> nir = data[2,*]
>
>> For this code i do not need to declare data, g, r and nir
>
>> But i do not know how i can manage it for k files (without getting
>> error messages).
>
>> Britta
>
> Well, why not just create a gigantic 3-d array and fill the array one
> by one?
>
> everything = fltarr(3,2072758,146)
>
> for i=0,146-1 do begin
> file = 'file' + string(i+1,format='(i0)')
> data = read_ascii(file) & data = data.(0)
> everything[*,*,i] = data
> endfor
>
> In this case, the program expects the files to be named something
> like: 'file1', 'file2', ... 'file146'. Obviously, you would have to
> adjust the names accordingly. Worse comes to worse you could always
> specify each one individually in a string array and extract the
> filename as you loop through.
Hello,
when i try this suggestion i get the error message: "%Array has too
many elements." at the line "everything = fltarr(3,2072758,146)".
Is there a possibility to fix this error?
Britta
|
|
|