FixedWidthTextParser

Fixed width text parser


Keywords
parser, python3, seismic, sps
License
MIT
Install
pip install FixedWidthTextParser==0.4.1

Documentation

Fixed width text parser to array

Parsing different defined text formats to array data

Parser - parse anything according to the format definition

For use cases check tests folder

Format definition:

definition = {
    'FIELD_1': [0, 1, 'string'],
    'FIELD_2': [1, 10, 'float'],
    'FIELD_3': [11, 10, 'float'],
    'FIELD_4': [23, 1, 'integer'],
    'FIELD_5': [24, 2, 'string'],
    'FIELD_6': [26, 4, 'integer', 0],
    'FIELD_7': [30, 4, 'integer', None],
    'FIELD_8': [34, 4, 'float', None],
    'FIELD_9': [38, 4, 'float', 0.0],
}

Field definition 'FIELD_6': [26, 4, 'integer', 0]

  • 'FIELD_6' - field name
  • 26 - index of text line where the field starts (count starts from 0)
  • 4 - field length in characters
  • string - field value type (allowed types: string, integer, float)
  • 0 - default value if empty in text line record

For every data type default value is always None if field results as empty string. For every data type it is possible to set default value in format definition.

Specific format parsers

  • Seismic.SpsParser.Sps21Parser - SPS format version num. SPS 2.1, JAN2006
  • Seismic.VibratorParser.ApsParser
  • Seismic.VibratorParser.CogParser
  • Seismic.VibratorParser.VapsParser

File formats

References