在 matlab 中读取大量包含空格的文本



我有一个".txt"(ANSI编码)文件,其中包含一篇大约880字的文章。我想阅读带有空格的文本。我想在 matlab 中读取该文件,但 matlab 抛出"缓冲区溢出"错误。

我正在使用以下代码:

e=textread(pathToFile,'whitespace','');
%%% further processing

我正在使用 Matlab 2011。任何人都可以为此提出解决方法。

您可以使用

textscan:

C = textscan(fileID,'%s', 100, 'Delimiter', 'n');

这会将打开的 fileID 中的前 100 行(由换行符分隔)存储在单元格数组中。 保留空格。

因为输入流太大而无法容纳当前缓冲区(默认情况下,最大字符串长度(以字节为单位)为 4095 )。

您可以使用'bufsize'可选参数增加缓冲区大小,例如

e = textread(pathToFile, 'whitespace', '', 'bufsize', 8191); % or larger

或者,要导入大型数据文件,请考虑分段读取文件,这样可以减少所需的内存量。查看此处的示例。

查看此处了解更多信息。

相关内容

  • 没有找到相关文章

最新更新