通常メッセージFile signature not found
のいずれかを示します。
1.あなたのファイルが破損しています。
...私はおそらくそうだと思います。あなたは以前にファイルを開いたと言いました。ファイルを破損する可能性のあるファイルハンドルを閉じるのを忘れたかもしれません。 HDF5ユーティリティh5debug
でファイルをチェックしてみてください(ご使用のOSにhdf5ライブラリをインストールしている場合はコマンドラインで、Linuxではdpkg -s libhdf5-dev
をチェックしてください)。
2.ファイルがHDF5形式ではありません。
これは、エラーメッセージの原因として知られています。しかし、あなたはこれが事実であり、前にファイルを開いたと確信していたので、私はここで遭遇する可能性がある他の人のために参考にしています:
バージョン7.3以降Matlabファイルは、MAT-File Level 5 Containers(more doc)のHDF5ベースのフォーマットを使用します。以前のバージョンのMAT-ファイル(V4(レベル1.0)、7.2 V6およびV7は)でサポートされており、scipy
図書館で読むことができます:
import scipy.io
f = scipy.io.loadmat('dataset.mat')
そうでない場合は、あなたが他の方法を試して見ることができるかどうかエラーが続く:
PyTablesは、h5pyの代替品であり、hereです。
import tables
file = tables.openFile('test.mat')
PythonのMATLABエンジンは、MATLABインストールした場合、MATファイルを読み取るための代替です。ドキュメントはMATLAB Engine API for Pythonにあります。
import matlab.engine
mat = matlab.engine.start_matlab()
f = mat.load("dataset.mat", nargout=1)