在使用Python中的mne包读取.set格式的脑电数据时出现buffer is too small的错误,代码如下所示:
data_path = r"E:\脑电数据处理\JCR\JCR_1.set";
raw = mne.io.read_raw_eeglab(data_path, preload=FALSE)
print(raw)
print(raw.info)
报错的内容如下所示:
在网上搜索发现有人出现这个问题是因为脑电数据的描述中出现了中文,他将中文删除即解决了这个问题,但是我将描述中的中文删除了也并没有解决这个问题,删除的方法如下:在eeglab中打开文件,然后选中edit->About this dataset,然后就能看到如下所示的描述,删掉其中的中文乱码,然后重新保存一次数据集,即可得到不含中文描述的文件。
在指定编码方式为 "utf-8" 时,问题没有解决:
raw = mne.io.read_raw_eeglab(data_path, preload=False, uint16_codec='utf-8')
在指定编码方式为 "latin1" 时,出现了新的问题:发生异常: ValueError
Could not find EEG array in the .set file.
raw = mne.io.read_raw_eeglab(data_path, preload=False, uint16_codec='latin1')
问题如下所示:
另外,已经尝试过utf-8,utf-16,GBK,GB2312,ISO-8859-1,Unicode,GB18030,ASCII编码方式,都无法解决问题