Skip to main content

pypi Version

mat 7.3

Load MATLAB 7.3 .mat files into Python.

Starting with MATLAB 7.3, .mat files have been changed to store as custom hdf5 files. This means they cannot be loaded by scipy.io.loadmat any longer and raise.

NotImplementedError: Please use HDF reader for matlab v7.3 files, e.g. h5py

Quickstart

This library loads MATLAB 7.3 HDF5 files into a Python dictionary.

import mat73
data_dict = mat73.loadmat('data.mat')

As easy as that!

By enabling use_attrdict=True you can even access sub-entries of structs as attributes, just like in MATLAB:

data_dict = mat73.loadmat('data.mat', use_attrdict=True) 
struct = data_dict['structure'] # assuming a structure was saved in the .mat
struct[0].var1 == struct[0]['var1'] # it's the same!

You can also specifiy to only load a specific variable or variable tree, useful to reduce loading times

data_dict = mat73.loadmat('data.mat', only_include='structure') 
struct = data_dict['structure'] # now only structure is loaded and nothing else

data_dict = mat73.loadmat('data.mat', only_include=['var/subvar/subsubvar', 'tree1/']) 
tree1 = data_dict['tree1'] # the entire tree has been loaded, so tree1 is a dict with all subvars of tree1
subsubvar = data_dict['var']['subvar']['subsubvar'] # this subvar has been loaded

Installation

To install, run:

pip install mat73

Alternatively for most recent version:

pip install git+https://github.com/skjerns/mat7.3

Datatypes

The following MATLAB datatypes can be loaded

MATLAB Python
logical np.bool_
single np.float32
double np.float64
int8/16/32/64 np.int8/16/32/64
uint8/16/32/64 np.uint8/16/32/64
complex np.complex128
char str
struct list of dicts
cell list of lists
canonical empty []
missing None
sparse scipy.sparse.csc
Other (ie Datetime, ...) Not supported

Short-comings

  • This library will only load mat 7.3 files. For older versions use scipy.io.loadmat
  • Proprietary MATLAB types (e.g datetime, duriation, etc) are not supported. If someone tells me how to convert them, I'll implement that
  • For now, you can't save anything back to the .mat. It's a bit more difficult than expected, so it's not on the roadmap for now
  • See also hdf5storage, which can indeed be used for saving .mat, but has less features for loading
  • See also pymatreader which has a (maybe even better) implementation of loading MAT files, even for older ones

Metadata

Release files for mat73 0.65

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mat73 0.65
File Size Uploaded
mat73-0.65.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mat73 0.65
File Interpreter ABI Platform
mat73-0.65-py3-none-any.whl Python 3 none any Details

Total release size: 39.0 kB

Release files / mat73-0.65.tar.gz

Download URL mat73-0.65.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ad38a06af3d483632bd939ee572b3724ea8c03d37916765d7278f9de95541ade
BLAKE2b-256 checksum
How to use checksums
92610e6375513085b13ad23ab150fc83d4d8faa91cba56eb2f30b646259f8214
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release files / mat73-0.65-py3-none-any.whl

Download URL mat73-0.65-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aadfcd00f328eb8f75dd1d4a060a956dc0abefcf5af20f5bc69a5aae64d62cbf
BLAKE2b-256 checksum
How to use checksums
c924e867b1b89b2a2102a5a3bb64ddcd49c5cb815244b2dadff7740c6a422e4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release history Release notifications | RSS feed

This release

0.65 This release

2 release files

0.64

2 release files

0.63

2 release files

0.62

2 release files

0.61

2 release files

0.60

2 release files

0.59

2 release files

0.58

2 release files

0.55

2 release files

0.54

2 release files

0.53

2 release files

0.52

2 release files

0.50

2 release files

0.46

2 release files

0.45

2 release files

0.41

1 release file

0.40

1 release file

0.39

1 release file

0.38

1 release file

0.37

1 release file

0.35

1 release file

0.34

1 release file

0.33

1 release file

0.32

1 release file

0.31

1 release file

0.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page