TSTool / Command / ReadTableFromFixedFormatFile
Overview
The ReadTableFromFixedFormatFile command reads a table from a fixed-format file,
for example input files to scientific models.
Columns are indicated by a column type and width.  Files have the following characteristics:
- Comments indicated by lines starting with #are stripped during the read.
- Extraneous lines in the file can be skipped during the read using the SkipLinesparameter (not yet implemented).
- Files cannot have header lines (see the ColumnNamesparameter) – header lines will be handled in the future.
- Data in columns are assumed to be of consistent type (i.e., all numerical data or all text), based on the format specifier (see DataFormatparameter).
- Missing values can be indicated by blanks in the input file.
- Values in adjacent columns that have no intervening space are read properly.
Command Editor
The command is available in the following TSTool menu:
- Commands(Table) / Read Table
The following dialog is used to edit the command and illustrates the command syntax.
 
ReadTableFromFixedFormatFile Command Editor (see full-size image)
Command Syntax
The command syntax is as follows:
ReadTableFromFixedFormatFile(Parameter="Value",...)
Command Parameters
| Parameter | Description | Default | 
|---|---|---|
| TableIDrequired | Identifier to assign to the table that is read, which allows the table data to be used with other commands. | None – must be specified. | 
| InputFilerequired | The name of the file to read, as an absolute path or relative to the command file location. | None – must be specified. | 
| DataFormatrequired | The data format, using a combination of the following specifiers (N is a number to be inserted and indicates the column width): 
 | None – must be specified. | 
| SkipLines | Indicates the number of lines in the file to skip, which otherwise would interfere with reading row data.  Individual row numbers and ranges can be specified, for example: 1,5-6,17Not yet implemented. | No lines are skipped. | 
| HeaderLines | Indicate the rows that include header information, which should be used for column names. Currently this should only be one row, although a range may be fully supported in the future. Not yet implemented. | If the first non-comment line contains quoted field names, they are assumed to be headers. Otherwise, no headers are read. | 
| ColumnNames | The names to assign to columns that are read. | Column1, Column2,... | 
Examples
See the automated tests.
The following example illustrates a fixed-format file.
In this case the name includes a string name and a “node type” separated by an underscore.
The following data format can be specified to ignore the underscore and read the parts:  s12s20x1s3s12x1s12x1f8.
The ColumnNames parameter is used to assign column names to the output table.
#> *******************************************************
#>  StateMod River Network File
#>  WARNING - if .net file is available, it should be edited and the .rin
#>  file should be created from the .net
#>
#>  format:  (a12, a24, a12, 1x, a12, 1x, f8.0)
#>
#>  ID           cstaid:  Station ID
#>  Name         stanam:  Station name
#>  Downstream   cstadn:  Downstream node ID
#>  Comment     comment:  Alternate identifier/comment.
#>  GWMax        gwmaxr:  Max recharge limit (cfs) - see iwell in control file.
#>
#>   ID                Name          DownStream     Comment    GWMax
#>---------eb----------------------eb----------exb----------exb------e
#>
#>EndHeader
#>
514601      GRAND RIVER DITCH   _DIV09010500     514601           -999
09010500    COLORADO RIVER BELOW_FLO512068       09010500         -999
512068      MIN FLOW N FK COLORA_ISF510848       512068           -999
510848      REDTOP VALLEY DITCH _DIV512068_Dwn   510848           -999
512068_Dwn                      _OTH09011000     512068_Dwn       -999
09011000    COLORADO RIVER NEAR _FLO513695       09011000         -999
513695      CBT SHADOW MTN GRAND_RES514634       513695           -999
514634      CBT ALVA B ADAMS TUN_DIV953695       514634           -999
953695      SHADOW MTN RES BYPAS_ISF953695_Dwn   953695           -999
953695_Dwn                      _OTH512069       953695_Dwn       -999
The following table in TSTool illustrates the resulting output:
 
ReadTableFromFixedFormatFile Command Output Table Example (see full-size image)
Troubleshooting
See the main TSTool Troubleshooting documentation.
See Also
- ReadTableFromDelimitedFilecommand
- WriteTableToDelimitedFilecommand