||
IDL写一个程序,n个文件夹下的每个文件都读数据(这里以3个文件夹为例)
D:data目录下有三个文件夹dat1、dat2、dat3,
dat1中有文件a.txt;dat2中有文件b.txt;dat3中有文件c.txt
a.txt中的数据是
12.80 2.02
16.00 1.83
63.30 1.90
11.50 2.02
b.txt中的数据是
16.70 1.97
10.00 2.07
70.30 2.07
17.50 2.03
c.txt中的数据是
36.80 2.01
14.60 2.32
30.90 2.15
27.00 2.06
我过程序把这三个文件中第一列大于20的数据放置到D:extract.txt
下面的程序可以实现
pro finddata
openw,1,'D:extract.txt';放置提取出来的数据,注意不要放置到目录D:data下
Result = FIND_ALL_DIR( 'D:data' );提取文件夹路径
for i=0,n_elements(Result)-2 do begin;-2的目的是将路径D:data排除掉
s=file_search(Result[i]+'*');提取文件名
readcol,s,format='f,f',co1,co2;将第一列数据放到数组co1中,将第二列数据放到数组co2中
for j=0,n_elements(co1)-1 do begin
if co1[j] gt 20.0 then begin;第一列数据中大于20数据,放置到extract.txt中
printf,1,co1[j],co2[j]
endif
endfor
endfor
close,1
end
可以看到D:extract.txt提取出来的数据
63.3000 1.90000
70.3000 2.07000
36.8000 2.01000
30.9000 2.15000
27.0000 2.06000
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-4 14:14
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社