2009-11-08 5 views
1

Кажется, я могу только загрузить все, как в формате uint8 типа, только со следующими двумя линиями,Scipy loadmat загружает только целые числа?

импорт scipy.io X1 = scipy.io.loadmat ('one.mat')

все двойной точности числа преобразуются. Я считаю, что создатели scipy знают о том, что числа с плавающей запятой гораздо более распространены ...

Итак, что мне делать? Спасибо!

ответ

1

Какой уровень макета вы пытаетесь прочитать? Согласно the docs,

v4 (Level 1.0), v6 и v7 до 7,2 matfiles поддерживаются.

Для чтения файлов формата matlab 7.3 вам понадобится библиотека python HDF5 . Потому что scipy не дает один, мы не имеем интерфейса HDF5/7.3 .

Для поддерживаемых уровней переменные должны быть перезагружены с помощью dtype, с которым они были сохранены; если вы предпочитаете загружать их в виде matlab, добавьте mat_dtype=True в конце параметров, с которыми вы звоните loadmat.

+0

Спасибо! Я сохранил данные с помощью команды: «save -v4 data», и теперь это работает. Я все еще хочу, чтобы вы могли реализовать интерфейс, поэтому scipy станет более мощным и удобным. – mayasky

+0

Если под «интерфейсом» вы подразумеваете HDF5, вы можете получить один из них: http://h5py.alfven.org/ - почему он не интегрирован в scipy, но, поскольку scipy (как и большинство open source) все делается добровольцами, чего не хватает, просто кто-то, кто заботится о нем, чтобы быть готовым работать, чтобы это произошло! -) –

 Смежные вопросы

  • Нет связанных вопросов^_^