“普通ASCII文件”的版本间差异
跳到导航
跳到搜索
第23行: | 第23行: | ||
U - unsigned short integer, UL - unsigned long integer |
U - unsigned short integer, UL - unsigned long integer |
||
Z - longword hexadecimal, and X - skip a column. |
Z - longword hexadecimal, and X - skip a column. |
||
=== read_col === |
|||
我自己写亮一个read_col 程序,可以只读如一个文件的指定列,比如第你列 |
|||
例:读入filename文件的第2列,格式是双精度数 |
|||
arr=read_col('filename',2,,type='dbl') |
|||
*文件要求空格分列 |
|||
*列的计数从1开始 |
|||
*不给关键词type,那么读入的是字符串格式 |
|||
== read_txt== |
== read_txt== |
2013年9月12日 (四) 10:50的版本
read_ascii
read_ascii可方便读取,读取后成为一个数据结构,默认全部是浮点数,如果需要复杂的数据结构需要使用 TEMPLATE= 关键词
关键词
- DATA_START: 从某一行开始读
- COMMENT_SYMBOL: 注释行
- MISSING_VALUE:为一些非法字符的赋值,默认是IDL中的系统变量 !VALUES.F_NAN.
- TEMPLATE: 可以由ASCII_TEMPLATE给出
readcol
astro_lib中的一个可以指定格式,读入一个规则文件的某一列,或某几列的程序
IDL> FMT = 'A,I,I,F,I,I,F' IDL> READCOL,'position.dat',F=FMT,name,hr,min,sec,deg,dmin,dsec
A - string data, B - byte, D - double precision, F- floating point I - short integer, L - longword, LL - 64 bit integer, U - unsigned short integer, UL - unsigned long integer Z - longword hexadecimal, and X - skip a column.
read_col
我自己写亮一个read_col 程序,可以只读如一个文件的指定列,比如第你列 例:读入filename文件的第2列,格式是双精度数
arr=read_col('filename',2,,type='dbl')
- 文件要求空格分列
- 列的计数从1开始
- 不给关键词type,那么读入的是字符串格式
read_txt
我自己写了一个read_txt文件:Read txt.pro.txt程序,可以智能的将一个N行M列的数据文件(空格分隔)读为一个data[N,M]的flota array。
readline
一个把文件按照行的模式读入的程序,输出是一个字符串数组,可以结合col_struct使用
IDL>readline,'file.txt',lines,count=Nline
col_struct
将一行由空格分开的数据读入一个结构 来自http://astro.berkeley.edu/~johnjohn/idl.html#COL_STRUCT
IDL> spawn,'cat data.txt', lines IDL> struct = col_struct(lines, ['star','ra','dec','vmag','notes'] , types=['a','f','f','f','a'])