我正在使用下面的代码来尝试在Python中加载MAT文件。我可以在MATLAB中无问题地加载它。
from scipy.io import loadmat
test_filename = 'test_data.mat' #This is a struct
data =loadmat(test_filename, struct_as_record=True)运行该代码会产生此错误:
Traceback (most recent call last):
File "C:\Users\mac389\workspace\nexUtils\src\qA.py", line 16, in
data =loadmat(test_filename, struct_as_record=True)
File "C:\Python27\lib\site-packages\scipy\io\matlab\mio.py", line 175, in loadmat
matfile_dict = MR.get_variables(variable_names)
File "C:\Python27\lib\site-packages\scipy\io\matlab\mio5.py", line 272, in get_variables
hdr, next_position = self.read_var_header()
File "C:\Python27\lib\site-packages\scipy\io\matlab\mio5.py", line 224, in read_var_header
stream = BytesIO(dcor.decompress(data))
MemoryError作为参考,test_data.mat是一个包含以下字段的结构(来自MATLAB控制台):
version: 101
comment: 'molecular layer 4/17'
freq: 40000
tbeg: 0
tend: 1.3950e+003
events: {3x1 cell}
neurons: {50x1 cell}
waves: {102x1 cell}
contvars: {64x1 cell}Test_data.mat是217 MB。我有4 GB的RAM。我正在使用SciPy 0.10.0和NumPy 1.6.1。改变'struct_as_record'字段什么也不做。
我怎样才能加载一个结构的字段是单元格数组?