我有一个CSV文件,我想在MATLAB中作为向量导入,但是当我使用MATLAB的importdata
时。它说:
Buffer overflow (bufsize = 1000005) while reading string from file
这是因为我的文件中有超过1000005个数字,如何增加bufsize
以便我可以导入此文件?
答案 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。