“普通ASCII文件”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
(以“read_ascii可方便读取,读取后成为一个数据结构,默认全部是浮点数,如果需要复杂的数据结构需要使用 TEMPLATE= 关键词 关键...”为内容创建页面)
 
 
(未显示4个用户的19个中间版本)
第1行: 第1行:

== read_ascii ==
read_ascii可方便读取,读取后成为一个数据结构,默认全部是浮点数,如果需要复杂的数据结构需要使用 TEMPLATE= 关键词
read_ascii可方便读取,读取后成为一个数据结构,默认全部是浮点数,如果需要复杂的数据结构需要使用 TEMPLATE= 关键词


第6行: 第8行:
*COMMENT_SYMBOL: 注释行
*COMMENT_SYMBOL: 注释行


*MISSING_VALUE:为一些非法字符的赋值,默认是 !VALUES.F_NAN.
*MISSING_VALUE:为一些非法字符的赋值,默认是[[IDL中的系统变量]] !VALUES.F_NAN.


*TEMPLATE: 可以由ASCII_TEMPLATE给出
*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.
=== writecol ===
网上找到一个writecol文件,可以实现按列输出文件,省得自己写循环[http://www.eg.bucknell.edu/physics/ASTR201/IDLTutorial/writecol.pro]

=== read_col ===
我自己写的一个read_col 程序,可以只读一个文件的指定列。
例:读入filename文件的第2列,格式是双精度
arr=read_col('filename',2,type='dbl')
*文件要求空格做分隔符
*列的计数从1开始
*关键词type的默认是字符格式
see [[My IDL program]]

===rdfloat===
也是[[astro_lib]]中的可以读制定列

== read_txt==
我自己写了一个read_txt[[文件:read_txt.pro.txt]]程序,可以智能的将一个N行M列的数据文件(空格分隔)读为一个data[N,M]的flota array。see [[My IDL program]]

==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'])

2015年7月2日 (四) 07:19的最新版本

read_ascii

read_ascii可方便读取,读取后成为一个数据结构,默认全部是浮点数,如果需要复杂的数据结构需要使用 TEMPLATE= 关键词

关键词

  • DATA_START: 从某一行开始读
  • COMMENT_SYMBOL: 注释行
  • 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.

writecol

网上找到一个writecol文件,可以实现按列输出文件,省得自己写循环[1]

read_col

我自己写的一个read_col 程序,可以只读一个文件的指定列。

例:读入filename文件的第2列,格式是双精度
arr=read_col('filename',2,type='dbl')
  • 文件要求空格做分隔符
  • 列的计数从1开始
  • 关键词type的默认是字符格式

see My IDL program

rdfloat

也是astro_lib中的可以读制定列

read_txt

我自己写了一个read_txt文件:Read txt.pro.txt程序,可以智能的将一个N行M列的数据文件(空格分隔)读为一个data[N,M]的flota array。see My IDL program

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'])