我有xlsx文件,其中包含750,000x33个单元格。
当我尝试使用时:
[FileName PathName] = uigetfile('*.xlsx','XLSX Files');
fid = fopen(FileName);
T=importdata(FileName);
计算花了一个多小时。
我有什么办法可以加快这个过程吗?
我也试过使用xlsread,但它也不起作用。
谢谢。
答案 0 :(得分:0)
最快的方法是:
xlsread
函数读取数据; 所以,试试这个:
[file_name, path_name] = uigetfile('*.xlsx','XLSX Files');
[num, txt, ~] = xlsread(fullfile(path_name, file_name));
在此之后,您将拥有可以在数字矩阵num
中转换为数字的任何内容,以及其他所有内容作为字符串单元格数组txt
。检查函数的帮助以进一步调整数据加载。
稍后编辑:如果这仍然很慢,很可能是因为xlsread
在基本模式下在内存中增加数组,并且内存碎片化或太小。选项(它们不是互斥的):
textscan
加载数据;