使用matlab从某些文件夹导入多个csv文件时的错误代码

时间:2017-10-20 16:50:34

标签: matlab csv

我真的是matlab编程的新手。我在编码时遇到问题,要将多个csv文件导入某个文件夹中的一个:

my error

这是我的代码:

%% Importing multiple CSV files

myDir = uigetdir; %gets directory
myFiles = dir(fullfile(myDir,'*.csv')); %gets all csv files in struct
for k = 1:length(myFiles)
    data{k} = csvread(myFiles{k});
end

我使用代码uigetdir以便能够从任何文件夹中选择数据,因为我尝试制作自动化程序,以便其他人可以灵活使用。我运行的代码只查找目录并显示列表,但不是用于将csv文件合并为一个并在“导入数据”中读取它。我希望它被合并并作为一个文件读取。 我的合并文件看起来应该用分号分隔,并且由47个csv文件合并在一起(这张图片是我拥有的csv文件之一): my merged file

我一直在为它工作一整天,但我总是发现错误代码。请帮帮我:(。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如错误消息所述,您尝试将myFiles作为单元格数组引用。 dir的输出是一个结构,不能像单元格数组那样被索引。

您想要执行以下操作:

for k = 1:numel(myFiles)
    filepath = fullfile(myFiles(k).folder, myFiles(k).name);
    data{k} = csvread(filepath);
end