Matlab 快速csv导入

Matlab 快速csv导入,matlab,csv,import-from-csv,file-import,Matlab,Csv,Import From Csv,File Import,我希望将大量csv文件导入MATLAB。我可以毫无困难地完成这项工作,除了它需要很多时间——使用下面的代码,每个文件大约需要3秒钟。有没有办法做得更快?这里是一个15行250列的矩阵。有150个文件 tic file_name = []; for w = scenario_size:-1:1 file_name = sprintf('monthly_population_%d.csv',w) ; % read file name f A = xlsread(file_name)

我希望将大量csv文件导入MATLAB。我可以毫无困难地完成这项工作,除了它需要很多时间——使用下面的代码,每个文件大约需要3秒钟。有没有办法做得更快?这里是一个15行250列的矩阵。有150个文件

tic

file_name = [];
for w = scenario_size:-1:1
    file_name = sprintf('monthly_population_%d.csv',w) ; % read file name f
    A = xlsread(file_name);                
    pop(:,:,w) = A' ; 
end
clear A
toc

使用readmatrix而不是xlsread可能会提高性能。例如:

A = readmatrix(file_name);
或者,如果您使用的Matlab版本没有readmatrix,请尝试readtable:

A = table2array(readtable(file_name));
readmatrix在R2019a中引入。对于旧版本,请使用csvread。如果.csv文件的格式是统一的,我认为读取它们的最快方法是使用tesxscan或fscanf。