sherpa.astro.ui.load_table(id, filename=None, ncols=2, colkeys=None, dstype=<class 'sherpa.data.Data1D'>)

Load a FITS binary file as a data set.

  • id (int or str, optional) – The identifier for the data set to use. If not given then the default identifier is used, as returned by get_default_id.

  • filename – Identify the file to read: a file name, or a data structure representing the data to use, as used by the I/O backend in use by Sherpa: a TABLECrate for crates, as used by CIAO, or a list of AstroPy HDU objects.

  • ncols (int, optional) – The number of columns to read in (the first ncols columns in the file). The meaning of the columns is determined by the dstype parameter.

  • colkeys (array of str, optional) – An array of the column name to read in. The default is None.

  • dstype (optional) – The data class to use. The default is Data1D.

See also


Create a data set from array values.


Load an ASCII file as a data set.


Load an image as a data set.


Set a data set.


Unpack a FITS binary table into a data structure.


The function does not follow the normal Python standards for parameter use, since it is designed for easy interactive use. When called with a single un-named argument, it is taken to be the filename parameter. If given two un-named arguments, then they are interpreted as the id and filename parameters, respectively. The remaining parameters are expected to be given as named arguments.

The column order for the different data types are as follows, where x indicates an independent axis and y the dependent axis:


Required Fields

Optional Fields


x, y

statistical error, systematic error


xlo, xhi, y

statistical error, systematic error


x0, x1, y

shape, statistical error, systematic error


x0lo, x1lo, x0hi, x1hi, y

shape, statistical error, systematic error


Read in the first two columns of the file, as the independent (X) and dependent (Y) columns of the default data set:

>>> load_table('sources.fits')

Read in the first three columns (the third column is taken to be the error on the dependent variable):

>>> load_table('sources.fits', ncols=3)

Read in from columns ‘RMID’ and ‘SUR_BRI’ into data set ‘prof’:

>>> load_table('prof', 'rprof.fits',
...            colkeys=['RMID', 'SUR_BRI'])

The first three columns are taken to be the two independent axes of a two-dimensional data set (x0 and x1) and the dependent value (y):

>>> load_table('fields.fits', ncols=3,
...            dstype=Data2D)

When using the Crates I/O library, the file name can include CIAO Data Model syntax, such as column selection. This can also be done using the colkeys parameter, as shown above:

>>> load_table('prof',
...            'rprof.fits[cols rmid,sur_bri,sur_bri_err]',
...            ncols=3)

Read in a data set using Crates:

>>> cr = pycrates.read_file('table.fits')
>>> load_table(cr)

Read in a data set using AstroPy:

>>> hdus = astropy.io.fits.open('table.fits')
>>> load_table(hdus)