Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Sorry, everyone!!! I found these data below seem to be one line, but they were not!!! They were set to an array with 28 columns * 157842 rows already... Now, the problem can be easier, but I am still a beginner. Please give me some comments. My basic idea was... 1. Make an array (28, 157842) 2. Open and read the data 3. Put the data into the array made in 1. 4. Slice the array into 3 and print to 3 different files. So I did this way, but still not working... -------------------- Pro temp1 ; Main working directory (location of IDL procedures and functions) WorkDir = 'D:\MODIS_Documents\MetData\IDLPractice' s=intarr(28, 157824L) Openr, lun, 'temp1.txt', /get_lun Readf, lun, s ; <- IDL still halts right here. (T.T) free_lun, lun data=fix(strsplit(s, '|', /extract)) for i=0L, 157824-1 do begin if i mod 52608L eq 0 then begin close, /all file_no=i / 52608L + 1 ; 1, 2, 3 openw, 1, 'out'+string(file_no, format='(I1)')+'.txt' ;예)out1.txt endif printf, 1, strjoin(string(data[*, i], format='(I4)'), ' ') endfor close, /all end kim20026@gmail.com wrote: > I requested some meteological data to a governmental institute. To > reduce the file size, they sent me this way... > > 90|2000|1|1|25|25|26|26|26|25|26|28|31|34|36|39|40|38|38|37| 35|33|35|37|34|34|35|29|90|2000|1|2|30|32|29|28|31|33|55|65| 74|68|72|75|71|83|85|77|69|60|51|43|41|34|34|29|90|2000|1|3| 25|20|12|9|8|5|-2|-3|14|27|31|42|51|54|48|51|37|28|15|11|6|- 12|0|-13|90|2000|1|4|-7|-5|-8|-10|-21|-21|-13|-18|-2|23|36|4 0|50|49|42|37|29|22|9|3|0|0|5|4|90|2000|1|5|1|4|12|10|15|15| 9|6|0|-1|1|3|5|4|4|6|8|8|10|9|9|13|13|17|90|2000|1|6|17|18|2 3|23|24|28|28|27|25|26|45|73|87|90|81|72|58|54|39|19|-2|-11| -17|-26|90|2000|1|7|-31|-39|-43|-55|-67|-77|-85|-86|-78|-71| -63|-63|-52|-43|-39|-41|-49|-51|-53|-54|-58|-53|-54|-57|90|2 000|1|8|-57|-52|-49|-48|-45|-39|-36|-30|-25|-18|-11|-8|0|2|1 2|7|-3|-7|-7|-7|-6|-16|-15|-17| > ... > > This is only one line, but contains a matrix of 28 columns * 157824L > rows. As you guys may know, Excel can only 65,000 rows approximately, > and I need to divide this into three to read this file correctly. > > I have tried like this so far, but everytime I try, I have the same > error message and the program stops. > > > ------------------------------------------ > Pro temp1 > > ; Main working directory (location of IDL procedures and functions) > WorkDir = 'D:\MODIS_Documents\MetData\IDLPractice' > > s='' > Openr, 1, 'temp1.txt' > Readf, 1, s > print, strlen(s) > close, 1 > > data=fix(strsplit(s, '|', /extract)) > help, data > data=reform(data, 28, 157824L) ; <- Execution halts right here > everytime!!! > print, data[*, 0] > print, data[*, 1] > > for i=0L, 157824-1 do begin > if i mod 52608L eq 0 then begin > close, /all > file_no=i / 52608L + 1 ; 1, 2, 3 > openw, 1, 'out'+string(file_no, format='(I1)')+'.txt' > ;ex) out1.txt > endif > printf, 1, strjoin(string(data[*, i], format='(I4)'), '') > > endfor > close, /all > end > ------------------------------------------------------------ ------------ > > Please let me know if you have any solutions (or suggestions at least. > It's urgent!! T.T)