gpt4 book ai didi

excel - 提高从 Excel 到 Matlab 读取数据的速度

转载 作者:行者123 更新时间:2023-12-03 02:44:49 28 4
gpt4 key购买 nike

我(当时)Excel 中有五列,我需要读取它们并将其存储到 Matlab 变量中。我目前使用以下代码:

TE=xlsread('../input/input.xlsx','A:A');
AF=xlsread('../input/input.xlsx','B:B');
TAHE=xlsread('../input/input.xlsx','C:C');
HD=xlsread('../input/input.xlsx','D:D');
TCW=xlsread('../input/input.xlsx','E:E');

当 input.xlsx 包含 14 行时,这需要 11 秒。当使用 8760 行(这将是我最终输入 xlsx 中的行数)时,消耗的时间大致相同。

瓶颈似乎是打开 Excel 文件。我对吗?如何才能最大限度地减少时间消耗?

对我来说,Matlab 似乎打开了 Excel 文件五次,而实际上只需要打开一次。如何改进我的代码?

编辑:通过使用下面的代码,耗时减少了大约2秒(还是比较慢):

temp=xlsread('../input/input.xlsx','A:E');

TE=temp(:,1);
AF=temp(:,2);
TAHE=temp(:,3);
HD=temp(:,4);
TCW=temp(:,5);

最佳答案

来自xlsread documentation :

num = xlsread(filename,sheet,xlRange,'basic') reads data from the spreadsheet in basic mode, the default on systems without Excel for Windows. If you do not specify all the arguments, use empty strings as placeholders, for example, num = xlsread(filename,'','','basic').

我对此的理解是,在安装了 Excel 的 Windows 计算机上,MATLAB 实际上调用 Excel 并让它读取数据并将其传递给 MATLAB,而否则(没有 Excel、没有 Windows 或显式 'basic' 模式)文件由 native MATLAB 实现读取,这可能会更快,因为单独启动 Excel 可能需要一些时间。

关于excel - 提高从 Excel 到 Matlab 读取数据的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28542156/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com