File 检查目录中是否存在多个文件-matlab

File 检查目录中是否存在多个文件-matlab,file,matlab,csv,File,Matlab,Csv,如何检查当前目录中是否存在多个csv文件 我有一个名为PowerOutput.csv的csv文件,我可以查看它是否存在 exist('PowerOutput.csv','file') 但是,我可以有很多这样的文件,例如PowerOutput1.csv、PowerOutput2.csv、PowerOutput3.csv等等 查找目录中存在哪些文件的最佳方法是什么 目前,我已尝试: TopFolder = pwd; SubFolder = dir(TopFolder); SubFolder = {

如何检查当前目录中是否存在多个csv文件

我有一个名为PowerOutput.csv的csv文件,我可以查看它是否存在

exist('PowerOutput.csv','file')
但是,我可以有很多这样的文件,例如PowerOutput1.csv、PowerOutput2.csv、PowerOutput3.csv等等

查找目录中存在哪些文件的最佳方法是什么

目前,我已尝试:

TopFolder = pwd;
SubFolder = dir(TopFolder);
SubFolder = {SubFolder.name};
SubFolder(strncmp(SubFolder,'.',1)) = [];

% -- find the number of PowerOutput
num_Power = strncmp({'PowerOutput'}, SubFolder,length('PowerOutput'));
num_Power(num_Power == 0) = [];
num_Power = 1:length(num_Power);
然后我可以通过以下方式导入数据:

% -- import inflow 
for i = 1:length(num_Power);
    filename = fullfile(TopFolder,horzcat('PowerOutput',num2str(num_Power(i)),'.csv'));
    fid = fopen(filename);
    headers = textscan(fid, '%s%s', 1, 'delimiter',',');
    dat = textscan(fid,'%s%f%f','delimiter',',','headerlines',1);
    fclose(fid);
end

但这似乎是一种非常冗长的方式。有什么建议吗

目录中使用
*

files = dir( fullfile( TopFolder, SubFolder.name, 'PowerOutput*.cvs' ) );

谢谢如果同一文件夹中有其他.csv文件(例如,称为electric.csv),这是否也起作用?astrics(
“*”
)将替换文件名中的任何字符。因此,
'PowerOutput*.cvs'
匹配(例如)'PowerOutput3.cvs'、'PowerOutputWhatWasIThinking.cvs'等。如果要查找文件夹中的所有cvs文件,只需
dir('*.cvs')
…您可能会发现这些问题相关:@Shai为什么要添加标记?我不确定这是怎么联系的。@Shai请看一个类似的案例。也许解决方案是矢量化的,这是好的,但问题不是专门针对矢量化,而是简化实现。