1.打开txt
从影像中读取数据保存为txt,直接就可以使用了
PRO opentxt
COMPILE_OPT idl2
envi, /restore_base_save_files
envi_batch_init, log_file='batch.txt'
txtname="C:\Users\HP\Desktop\a.txt"
if file_test(txtname)then begin;The FILE_TEST function checks files for existence
;and other attributes without having to first open the file/用来检查文件是否存在及在不打开文件的情况下检查其属性
nLines=file_lines(txtname);file_lines()用于返回数据的行
tmp='';两个单引号
; 打开文件
openr,lun,txtname,/get_lun
while(~EOF(lun))do begin;
readf,lun,tmp;读取第一行
; print,tmp
; help,tmp
Col=strsplit(tmp,/extract);拆分第一行获取列数
ColNum=N_elements(Col)
Arr_1=fltarr(ColNum,nLines-1);定义一个n列n-1行,元素为0的数组
readf,lun,Arr_1
Arr_1=[[Col],[Arr_1]];重新组合数组(n,n-1)+第一行=(n,n)
endwhile
print,Arr_1[0:1,*]
help,Arr_1[0:1,*]
end
Arr_2=Arr_1[2:*,*]
print,Arr_2
help,Arr_2
END
2.注意事项
1. 无法读取为数组的情况
如果txt中的某行或某列中存在与其他行、列存在不一致的元素个数,那么该txt是无法读取为数组的