Base class elements

The key elements in astropy.io.ascii are:

  • Column: Internal storage of column properties and data ()

  • Reader: Base class to handle reading and writing tables.

  • Inputter: Get the lines from the table input.

  • Splitter: Split the lines into string column values.

  • Header: Initialize output columns based on the table header or user input.

  • Data: Populate column data from the table.

  • Outputter: Convert column data to the specified output format, e.g. numpy structured array.

Each of these elements is an inheritable class with attributes that control the corresponding functionality. In this way the large number of tweakable parameters is modularized into manageable groups. Where it makes sense these attributes are actually functions that make it easy to handle special cases.