Load Files from folder based on file number

2 次查看(过去 30 天)
I have 100 csv files in a folder. Each is labeled with a totally random number such as 233505.csv. I need to load 3 specific files. I originally tried
uigetfile('.csv','MultiSelect','on')
This worked but it required me to select the files I want. I am now trying using a datastore function so that I dont need to manually select the files. However I dont think the name-value pair "Filenames" is correct. Is there an alternative method. The Dir function only allows me to specify a single file.
ds = tabularTextDatastore("C:\Users\e\Player","FileExtensions",[".csv"],"Filenames",["233505.csv","45067.csv"]);
  3 个评论
Doron Joffe
Doron Joffe 2021-11-22
Thank you. I want to select them based on a feature of the file name. For example from the list, I want to load only the files with the names, 2334.csv, 1243.csv and 13245.csv.
Stephen23
Stephen23 2021-11-22
编辑:Stephen23 2021-11-22
"I want to select them based on a feature of the file name."
And how will you select them? Or, more importantly, how do you plan on telling MATLAB which ones you have selected?
Are you going to tell MATLAB which files you want by writing down the names of three files? Or specifying some property of the filename/etc that can be uniquely matched to exactly 3 files? Or are you going to pick 3 random files? Or read the filenames from another file? Or get the user to specify them? Or something else... ?
"For example from the list, I want to load only the files with the names, 2334.csv, 1243.csv and 13245.csv."
By "list" do you mean the list of filenames returned by DIR ? Or your own "list" of files that you want to process?

请先登录,再进行评论。

回答(1 个)

KSSV
KSSV 2021-11-22
csvFiles = dir('*.csv') ; % you are in the folder where csv files are present
N = length(csvFiles) ;
for i = 1:N
thisFile = csvFiles(i).name
% do what you want
end

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by