如何在importdata中增加bufsize

时间:2014-02-28 17:28:41

标签: matlab csv import

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

浏览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。