用IDL读取*.txt的文件中的数据,为什么是从第2行开始读的啊?能修改么?

用IDL读取*.txt的文件中的数据,为什么是从第2行开始读的啊?能修改么?,第1张

temp=''

readf,lun,temp

这两行,位于程序开头,就是用一个字符串型的变量去读取文件的第一行。一般,这用于跳过文件的文件头。

估计这个程序设计之初,txt文件中是有类似于表头的东西,这就是为什么你第一行加一个任意字符,程序就正确了。

如果删去这两行代码,就可以不用加任意字符!

如果格式比较简单的话比较容易,以读TXT为例

file = DIALOG_PICKFILE(FILTER='*.txt')

OPENR, lun, file, /GET_LUN

B=FLTARR(50,20)这个行列自行决定,先列后行,FLTARR是浮点型其他数据类型查找帮助文档

READF,lun,B

FREE_LUN,lun

如果是比较复杂格式的TXT,建议用read_ascii读取,方法帮助文档很详细,大致分两部,一个是设置格式,一个是按存好的格式读取,当里面夹杂着大量的文字,各种不同数据类型的时候很好用,可读成结构体

设定ASCII格式

filetemplate=ascii_template(filepth)

save,filetemplate,filename='**.sav'

根据事先存好的模板读取

data=read_ascii(filepth,delimiter=',',template=filetemplate)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11520309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存