Matlab:保存文件夹中包含的具有特定扩展名的文件的文件名
我正在使用一个函数来绘制同一文件夹中包含的许多.csv文件的数据。为了自动执行,我想将文件名保存为字符串数组,但我知道唯一可以用来获取文件列表的函数是dir和by doMatlab:保存文件夹中包含的具有特定扩展名的文件的文件名,matlab,csv,directory,filenames,Matlab,Csv,Directory,Filenames,我正在使用一个函数来绘制同一文件夹中包含的许多.csv文件的数据。为了自动执行,我想将文件名保存为字符串数组,但我知道唯一可以用来获取文件列表的函数是dir和by do x = dir('MyFolder') 我得到的是一个结构数组,而不是字符串或字符或任何数组。然后,我试图在另一个变量上只保存struct数组的第一列(从第三行到最后),因为文件名就在那里,但我得到的是同一个struct,没有前两行 你将如何解决这个问题? 先谢谢你 files = dir('*.csv') ; % thi
x = dir('MyFolder')
我得到的是一个结构数组,而不是字符串或字符或任何数组。然后,我试图在另一个变量上只保存struct数组的第一列(从第三行到最后),因为文件名就在那里,但我得到的是同一个struct,没有前两行
你将如何解决这个问题?
先谢谢你
files = dir('*.csv') ; % this gives all csv files present in folder
N = length(files) ; % total number of files in the folder
for i = 1:N
thisfile = files(i).name ;
end
在上面的文件是一个结构,它有你的csv文件的所有信息。您可以使用files(i).name提取文件名,其中i=1,2,…N。
如果您想要一个字符串中的所有文件名。使用
filenames = {files.name}' ;
在第行上方,将文件夹中所有csv文件的名称放入单元格数组中 阅读本教程:这就是我需要的,谢谢@CrisLuengo!应用提示后,`csvfiles=struct2table(dir('*.csv');%获取所有csv文件名filename=csvfiles.name;%仅选择名称列filenames=string(filenames);%将数据转换为字符串`它将数据转换为字符串,以便其他函数简单地使用数据。你分配任务的方式大大提高了我代码的效率!