Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab:保存文件夹中包含的具有特定扩展名的文件的文件名_Matlab_Csv_Directory_Filenames - Fatal编程技术网

Matlab:保存文件夹中包含的具有特定扩展名的文件的文件名

Matlab:保存文件夹中包含的具有特定扩展名的文件的文件名,matlab,csv,directory,filenames,Matlab,Csv,Directory,Filenames,我正在使用一个函数来绘制同一文件夹中包含的许多.csv文件的数据。为了自动执行,我想将文件名保存为字符串数组,但我知道唯一可以用来获取文件列表的函数是dir和by do x = dir('MyFolder') 我得到的是一个结构数组,而不是字符串或字符或任何数组。然后,我试图在另一个变量上只保存struct数组的第一列(从第三行到最后),因为文件名就在那里,但我得到的是同一个struct,没有前两行 你将如何解决这个问题? 先谢谢你 files = dir('*.csv') ; % thi

我正在使用一个函数来绘制同一文件夹中包含的许多.csv文件的数据。为了自动执行,我想将文件名保存为字符串数组,但我知道唯一可以用来获取文件列表的函数是dir和by do

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);%将数据转换为字符串`它将数据转换为字符串,以便其他函数简单地使用数据。你分配任务的方式大大提高了我代码的效率!