2016-05-22 2 views
0

Ich bin neu in Python und ich konvertieren Matlab-Code in Python. Ich habe die Mat-Datei geladen, die ein Wörterbuch in Python ist. Ich kann die Schlüsselnamen drucken, aber ich kann nicht verstehen, wie die Typen zu zeigen und Größe für die WerteZeige Typ und Größe einer Mat-Datei in Python geladen

import scipy.io 
import os 
import sys 
os.path.dirname(os.path.realpath(__file__)) 
path = os.getcwd(); 
filename = "\mnist_uint8" 
fullname = path+filename; 
print("Reading file:"+fullname) 
try: 
    mat = scipy.io.loadmat(fullname) 
except IOError as err: 
    print ("I/O error({0}): {1}".format(e.errno, e.strerror)) 
    sys.exit(); 
else: 
    print("Successfully loaded mat file") 

keys = mat.keys() 

for key in keys: 
    print(key) 

I need „Taste“ + „Typ“ + „Größe“, um zu sehen, die unter zu sehen sind enter image description here

+1

die von der MAT-Datei als numpy Arrays in einem Wörterbuch gespeichert geladen werden geladen Variablen. So können Sie den Typ und die Größe jedes Arrays wie gewohnt ermitteln: 'arr.dtype' und' arr.shape' – Amro

+1

Manchmal werden komplizierte Matlab-Strukturen als Objekt-dtype-Arrays geladen, ein Array, das andere Arrays enthält. Sie benötigen möglicherweise einen Index mit '[0]' oder sogar '[()]'. – hpaulj

Antwort

1

Versuchen Sie, Ihre letzten Zeilen an sich ändernde:

for k in mat.keys(): 
    if not k.startswith('__'): 
     print(k + " " + mat[k].dtype.name + " " + str(mat[k].shape)) 
Verwandte Themen