IDL 读写txt文件和csv文件

IDL之前读txt文件的方法有点笨,且保存的数据每列有一个含义,每次读生成的数据时都要找源程序看每列数据的含义,这可以用csv文件。

读写txt文件

读txt

txt原方法,缺点列数需要自己看文件,且用的是for循环

  openr,lun,file,/get_lun
  nLines = file_lines(file)
  data =fltarr(21,nLines)
  for i=0,nLines-1 do begin
    x = fltarr(21)
    readf,lun,x
    data[*,i] = x
  endfor
 free_lun, lun

txt新方法,比较自动化

    openr,lun,file,/get_lun
    data_all = []
    line=''
    WHILE NOT EOF(lun) DO BEGIN
      READF, lun, line
      line_str = strsplit(line,/extract)
      data = float(line_str)
      data_all = [[data_all], [data]]
    ENDWHILE
    free_lun,lun

读csv文件

data = read_csv(file,header=par_name)
help,data ; data是个结构体
;读取每列数据,已知要读取的数据是第几列
pressure = data.(1)
;或查看要读取的数据参数在第几列后读取
pressure_index = where(par_name eq 'pressure')
pressure  = data.(pressure_index)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值