Я рекомендую вам преобразовать строки в символьные массивы.
Очевидно, что не существует документированного решения для чтения строк MATLAB из хранилища HDF5 (строки MATLAB являются объектами с недокументированным внутренним форматом хранения).
Сохранение массива символов в Input.mat
в MATLAB (не в формате HDF5):
A = ["15-Nov-2014 22:42:16"; "16-Dec-2014 04:14:07"; "20-Jan-2015 17:05:32"];
% Convert A from array of strings to 2D character array.
% Remark: all strings must be the same length
A = char(A); % 3*20 char array
% Save A to mat file (format is not HDF5).
save('Input.mat', 'A');
Чтение A
в Python с использованием scipy.io.loadmat:
from scipy import io
# Read mat file
Input = io.loadmat('Input.mat') # Input is a dictioanry {'A': array(['15-Nov-2014 ...pe='<U20'), ...}
# Get A from Input (A stored in MATLAB - character arrays in MATLAB are in type utf-16)
A = Input['A']; # A is 2D numpy array of type '<U20' array(['15-Nov-2014 22:42:16', '16-Dec-2014 04:14:07', ...], dtype='<U20')