Reading and Plotting big txt. File [message #55119] |
Wed, 01 August 2007 02:33 |
incognito.me
Messages: 16 Registered: August 2007
|
Junior Member |
|
|
I'm trying to read and plot (surface) a very big text (.txt) file
(1020, 1024) with a 5 line string Header in IDL. My file looks like a
circle made of numbers!!!. That means in some lines and colums there
are no numbers only blanks!!!for example my file contains integers
between rows 633 and 390 and between columns 650 and 406.At the left
side of the file, there are the numbers of rows (1023,1022,1021,....0)
my code should not read, but it does. And I also notice, that my code
don't begin to read where the data starts!!By running the code I have
the following error message: READF: End of file encountered. Unit: 1.
Can someone help me?
This is how my code looks like
pro readfile, filename
; file=strupcase(filename)
rows=file_lines(file)
;open the file and read the five line header.
openr,1,file
header=strarr(5)
readf,1,header
; Find the number of columns in the file
cols=fix(strmid(header(3),14,4))
; Number of rows of the data
rows_data=rows-n_elements(header)
;Create a big array to hold the data
data=intarr (cols, rows_data)
; All blanks should be replaced by zero
data[where(data eq ' ')]=0
; A small array to read a line
s=intarr(cols)
n=0
while (~ eof(1) and (n lt rows_data -1 )) do begin
; Read a line of data
readf,1,s
; Store it in data
data[*,n]=s
n=n+1
end
data=data[*,0:n-1]
CLOSE,1
Shade_surf, data
end
thanks
incognito
|
|
|