Arrays 将文件夹中的所有csv文件导入到倍频程的单元格中

Arrays 将文件夹中的所有csv文件导入到倍频程的单元格中,arrays,csv,import,cell,octave,Arrays,Csv,Import,Cell,Octave,我有以下来自MATLAB的代码,我正试图将其转换为倍频程。目标是从目录文件夹中的所有csv文件创建一个单元格 MATLAB代码是 csvfiles=dir('*.csv'); numfiles=length(csvfiles); celldata=cell(1,numfiles); for k=1:numfiles celldata{k}=csvread(csvfiles(k).name); end matrixdata = cell2mat(celldata); 但是,当我尝试以

我有以下来自MATLAB的代码,我正试图将其转换为倍频程。目标是从目录文件夹中的所有csv文件创建一个单元格

MATLAB代码是

csvfiles=dir('*.csv');
numfiles=length(csvfiles);
celldata=cell(1,numfiles);

for k=1:numfiles
    celldata{k}=csvread(csvfiles(k).name);
end

matrixdata = cell2mat(celldata);

但是,当我尝试以八度音阶运行此代码时,celldata包含空的[0x0]项。非常感谢您的帮助

您是否在与csv文件相同的文件夹中使用此脚本?这对我来说适用于
.csv
文件的一个玩具示例。另外,您所说的“目录文件夹”是什么意思?“目录”和“文件夹”这两个词的意思通常是相同的
dir
这是一个列出文件夹中所有文件的函数(在本例中,仅列出
.csv
文件)。这不是你想要的吗?@Jennifer:运行代码后,
numfiles
有什么价值?顺便说一句,你不应该使用
length
,而应该使用
numel
instead@Tasos:我所说的“目录”是指“文件夹”。请原谅语言混乱。有几个问题你需要回答。你有什么操作系统?什么版本的octave/matlab?你是在windows上使用matlab还是在linux上使用octave?我猜您的
numfiles
出于某种原因是0(您可以很容易地调试它)。一个可能的原因是,您要查找的目录中没有
.csv
文件,因为这些文件区分大小写,而您的文件实际上是目录中的
.csv
文件。Windows趋向于不区分大小写,linux趋向于区分大小写。如果这没有帮助,恐怕你需要举一个更具体的例子。