Skip to main content

Load MATLAB .mat 7.3 into Python native data types

Project description

Python package 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

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!

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 []
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. Let me know if you need this functionality, would be quick to implement.
  • See also hdf5storage, which can indeed be used for saving .mat, but has less features for loading

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mat73-0.46.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

mat73-0.46-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file mat73-0.46.tar.gz.

File metadata

  • Download URL: mat73-0.46.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for mat73-0.46.tar.gz
Algorithm Hash digest
SHA256 3a781332dafbbab86e04840ee2fd0d46ae8f1354b3a431526c5ffc76f827ebf1
MD5 0c1f90be48949a1ccfce0d09f048e885
BLAKE2b-256 0b0073bf38578e0234d4af9f089daef94a45526fe4226af59701dbfa085520d9

See more details on using hashes here.

File details

Details for the file mat73-0.46-py3-none-any.whl.

File metadata

  • Download URL: mat73-0.46-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for mat73-0.46-py3-none-any.whl
Algorithm Hash digest
SHA256 d96aa6b5efbcd79a1843b3823d06b8edcd4dc6e74f776462ed4e612c469d9886
MD5 289157b8fe70423eb802eb75eb90e861
BLAKE2b-256 fe91937025d314d66b9e868be94e190a93b5c423db16ee998a559681a81b987e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page