आमतौर पर संदेश File signature not found
या तो इंगित करता है:
1. आपकी फ़ाइल दूषित है।
... जो मुझे लगता है वह सबसे अधिक संभावना है। आपने कहा कि आपने पहले फाइलें खोली हैं। हो सकता है कि आप अपनी फ़ाइल-हैंडल को बंद करना भूल गए जो फ़ाइल को दूषित कर सकता है। एचडीएफ 5 उपयोगिता h5debug
के साथ फ़ाइल की जांच करने का प्रयास करें (यदि आपने अपने ओएस पर hdf5 lib स्थापित किया है तो कमांड लाइन पर उपलब्ध है, लिनक्स पर dpkg -s libhdf5-dev
के साथ जांचें)।
2. फ़ाइल एचडीएफ 5 प्रारूप में नहीं है।
यह आपके त्रुटि संदेश के लिए एक ज्ञात कारण है। लेकिन चूंकि आपने कहा है कि आपने सुनिश्चित किया है कि यह मामला है और आपने पहले फाइलें खोली हैं, मैं इसे सिर्फ उन लोगों के संदर्भ में दे रहा हूं जो यहां ठोकर खा सकते हैं:
दिसंबर 2015 से (संस्करण 7.3 के अनुसार) , मैटलैब फाइलें एचडीएफ 5 आधारित प्रारूप का उपयोग अपने MAT-File Level 5 Containers (अधिक doc) में करती हैं। इससे पहले संस्करण मेट-फ़ाइलें (v4 (स्तर 1.0), v6 और 7.2 के लिए v7) द्वारा समर्थित हैं और scipy
पुस्तकालय के साथ पढ़ा जा सकता है:
import scipy.io
f = scipy.io.loadmat('dataset.mat')
नहीं तो आप अन्य तरीकों कोशिश करते हैं और दिखाई दे या नहीं त्रुटि बनी हुई है:
पायटेबल्स h5py का विकल्प है और here पाया जा सकता है।
import tables
file = tables.openFile('test.mat')
अजगर MATLAB इंजन यदि आप matlab स्थापित किया है, मेट फ़ाइलों को पढ़ने के लिए एक विकल्प है। दस्तावेज़ीकरण यहां पाया गया है: MATLAB Engine API for Python।
import matlab.engine
mat = matlab.engine.start_matlab()
f = mat.load("dataset.mat", nargout=1)