IDL读取写入csv/tif/dat文件

读数据:

WRITE_CSV,outfilename,data
read_tiff(outfilename,geotiff=geoinfo)
​
;读取csv

;也可以这样
thesefiles = FILE_SEARCH('ice_multiplier_table.csv')
  table=intarr(9,7)
  openr,lun,thesefiles[0],/get_lun
  ReadF,lun,table
  ;Print,table
  free_lun,lun

;读取tif
read_tiff(outfilename,geotiff=geoinfo)
;这个办法读tif可以获得它的地理信息,但是默认只有一个波段
fy25=read_tiff('H:\fy19101000clip.tif',geotiff=geoinfo, CHANNELS=[1],INTERLEAVE=2)
;channels代表你需要获取的波段,从0开始计数,也可以写成CHANNELS=[0,1],代表读两个波段
;INTERLEAVE=2代表有多个波段的tif
读取ascii
read_ascii(filepath+filename,count=count,data_start=1,DELIMITER=',',header=head)
;count是指数据有多少列
data_start=1
;是指数据从第2行(1表示)开始读取
;header是指数据的头,就是直到data_start前
;最神奇的地方是:DELIMITER代表分隔符
;如果想像excel那样打开,就是有个交互窗口可以用以下代码
ftemplate=ascii_template(filename);
asc=read_ascii(filename,count=count,DATA_START=1,DELIMITER=',', /VERBOSE)

具体函数说明请看Write_csv官方文档

写数据:

 

  WRITE_CSV,outfilename,data
  WRITE_TIFF,outfilepath +basename+'b25.tif',result2,/float;, geotiff=g_tags
WRITE_TIFF,outfilepath+'ERA50_SLP_'+strtrim(String(year),2)+'_'+strtrim(String(month),2)+'_'+strtrim(String(day),2)+'.tif',outtmp, PLANARCONFIG=2,/float, geotiff=geoinfo; ;多波段存储tif

这是之前写的,可能也有更好的写法,但是懒

你可能感兴趣的:(idl)