загрузка файла .mat в python вызывает ошибку «буфер слишком мал для запрашиваемого массива» - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть следующий код Python (его фиктивные данные)

import scipy.io as si
data = [0 ,1]
metadata = {'Location_City': {'loíza': '0'}}
metadata_b = bytes(str(metadata), 'utf-8') 
result_dict = {'d':data, 'm': metadata_b}
si.savemat('data.mat', mdict = result_dict)

Обратите внимание на i с акцентом в loíza.Когда я загружаю файл в python, я получаю сообщение об ошибке «буфер слишком мал для запрашиваемого массива»:

res = loadmat('data.mat', uint16_codec='utf-8')

Я знаю, что ошибка связана с кодированием метаданных специальными символами.Я использую uint16_codec = 'utf-8' в loadmat (), но это не помогло.Я хочу сохранить метаданные в файле .mat.Метаданные содержат словарь словарей с именами, имеющими специальные символы.Я также хочу загрузить .mat файл в python с этими метаданными.Есть предложения?

...