Reading and writing Table objects

Astropy provides a unified interface for reading and writing data in different formats. For many common cases this will simplify the process of file I/O and reduce the need to master the separate details of all the I/O packages within Astropy. For details and examples of using this interface see the Unified file read/write interface section.

Getting started

The Table class includes two methods, read() and write(), that make it possible to read from and write to files. A number of formats are automatically supported (see Built-in table readers/writers) and new file formats and extensions can be registered with the Table class (see I/O Registry (

To use this interface, first import the Table class, then simply call the Table read() method with the name of the file and the file format, for instance 'ascii.daophot':

>>> from astropy.table import Table
>>> t ='photometry.dat', format='ascii.daophot')

It is possible to load tables directly from the Internet using URLs. For example, download tables from Vizier catalogues in CDS format ('ascii.cds'):

>>> t ="",
...         readme="",
...         format="ascii.cds")

For certain file formats, the format can be automatically detected, for example from the filename extension:

>>> t ='table.tex')

Similarly, for writing, the format can be explicitly specified:

>>> t.write(filename, format='latex')

As for the read() method, the format may be automatically identified in some cases.

Any additional arguments specified will depend on the format. For examples of this see the section Built-in table readers/writers. This section also provides the full list of choices for the format argument.

Supported formats

The Unified file read/write interface has built-in support for the following data file formats: