百度空间 | 百度首页 
 
查看文章
 
IDL跳跃读取文本
2009-10-16 11:17

今天群里(IDLWay-I: 31907930)问道一个问题

文本里有记录以下下一行字符:

1000(H) 272 1567 3120 4333 5725 7348 9327 10539 12012 13866 16378

如何分开读取前7个字符和后面所有数字?

:::::我是分割线:::::

IDL读取二进制文件,可以用Point_Lun进行定点读取,但是文本文件就不行了。

上面这个问题,可以先整行读取,然后用字符串操作进行分解。

但我想试试读取时,就分解了。用格式化读入的办法可行。

测试代码:(文件里存的就是上述问题提到的那行字符串)

pro JumpReadTxt
file ='c:\Huxz\Temp\Test.txt'
;open file
openr, lun, file, /get_lun
   fmt = '(a7, 1x, a)' ; 先读7个字符,跳一个字符位,连续读入本行剩下的所有字符
   record = {head:'', dataS:''}
readf, lun, record, format=fmt
help, record, /stru
dataL = Long(Strsplit(record.dataS, ' ', /extract))
help, dataL
print, dataL
;close input file
free_lun,lun
end


类别:idl实用大全 | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2009-10-16 13:08 | 回复
没啥新东西哈。
 
2
2009-10-16 13:13 | 回复
从format看来并不一定非得按照常规出牌哈。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu