【问题标题】:How to increase bufsize in importdata如何增加importdata中的bufsize
【发布时间】:2014-04-01 20:28:13
【问题描述】:

我有一个 CSV 文件,我想将其作为向量导入 MATLAB,但是当我使用 MATLAB 的 importdata 时。它说:

Buffer overflow (bufsize = 1000005) while reading string from file

因为我的文件里有超过1000005个数字,如何增加bufsize以便导入这个文件?

【问题讨论】:

    标签: matlab csv import


    【解决方案1】:

    查看 importdata.m (R2014a) 的第 315 行:

    %Arbitrarily set the maximum size for a line, used to calculate this but it
    %was slow, so we went with all in one line or the old maximum it would
    %check.
    bufsize = min(1000000, max(numel(fileString),100)) + 5;
    

    这显然是 1000005 的来源。

    我会说只用大于当前 1,000,000 的值编辑这一行。

    【讨论】:

      【解决方案2】:

      您可以设置InputBufferSize 来增加缓冲区大小。

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

      【讨论】:

      • 如何配置 InputBufferSize?它没有说明在链接中配置它的任何内容
      • @Navid777 你可以看看这个link
      猜你喜欢
      • 1970-01-01
      • 2020-01-15
      • 2021-08-31
      • 2021-08-03
      • 2014-11-20
      • 2019-12-21
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多