# Input and output (`scipy.io`)

SciPy has many modules, classes, and functions available to read data from and write data to a variety of file formats.

See also

NumPy IO routines

## MATLAB® files

`loadmat`(file_name[, mdict, appendmat]) | Load MATLAB file.
`savemat`(file_name, mdict[, appendmat, ...]) | Save a dictionary of names and arrays into a MATLAB-style .mat file.
`whosmat`(file_name[, appendmat]) | List variables inside a MATLAB file.

For low-level MATLAB reading and writing utilities, see `scipy.io.matlab`.

## IDL® files

`readsav`(file_name[, idict, python_dict, ...]) | Read an IDL .sav file.

## Matrix Market files

`mminfo`(source) | Return size and storage parameters from Matrix Market file-like 'source'.
`mmread`(source) | Reads the contents of a Matrix Market file-like 'source' into a matrix.
`mmwrite`(target, a[, comment, field, ...]) | Writes the sparse or dense array a to Matrix Market file-like target.

## Unformatted Fortran files

`FortranFile`(filename[, mode, header_dtype]) | A file object for unformatted sequential files from Fortran code.
`FortranEOFError` | Indicates that the file ended properly.
`FortranFormattingError` | Indicates that the file ended mid-record.

## Netcdf

`netcdf_file`(filename[, mode, mmap, version, ...]) | A file object for NetCDF data.
`netcdf_variable`(data, typecode, size, shape, ...) | A data object for netcdf files.

## Harwell-Boeing files

`hb_read`(path_or_open_file) | Read HB-format file.
`hb_write`(path_or_open_file, m[, hb_info]) | Write HB-format file.

## Wav sound files (`scipy.io.wavfile`)

`read`(filename[, mmap]) | Open a WAV file.
`write`(filename, rate, data) | Write a NumPy array as a WAV file.
`WavFileWarning` |

## Arff files (`scipy.io.arff`)

`loadarff`(f) | Read an arff file.
`MetaData`(rel, attr) | Small container to keep useful information on a ARFF dataset.
`ArffError` |
`ParseArffError` |