Ideally, a file format is
- self-documented, i.e., it offers metadata that allows the user to infer what data is contained within the file.
- easily readable by a multitude of programming languages, as not everyone we collaborate with shares our affection to Python.
- dense, i.e., it should not take up a lot of space.
- fault tolerant, i.e., in case of a faulty switched bit on the hard-drive the data should be recoverable.
- flexible in the shape of the data that is to be stored.
In the following a selection of file formats is introduced.