使用matlab从某个文件夹导入多个csv文件的错误代码
我真的是matlab编程的新手。我有编码的问题从某个文件夹导入多个CSV文件合并成一个:使用matlab从某个文件夹导入多个csv文件的错误代码
这是我的代码:
%% 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
我已经工作了它一整天,但我觉得总是错误代码。请帮我:(。预先感谢您非常对你有所帮助。
随着错误消息状态,你试图引用myFiles
作为一个单元阵列时,事实并非如此。的dir
输出是一个结构,它不能被索引像一个单元阵列
你想要做类似下面:?
for k = 1:numel(myFiles)
filepath = fullfile(myFiles(k).folder, myFiles(k).name);
data{k} = csvread(filepath);
end
谢谢你的回答@excaza但是我仍然收到一条错误消息。如果我想使用分号分隔的表单,如何在我的代码中进行调整?谢谢 –
@KasihDitaningtyas使用['dlmread'](https://www.mathworks.com/help/matlab/ref/dlmread.html)。 – excaza
你介意提供的csv文件的一些示例内容只是为了告知使用什么功能,你能不能也包括你的代码到目前为止?你是否试图合并csv文件的内容?你的第一句话不清楚。 –
嗨@PhilipBrack我编辑了我的问题。谢谢。 –
你的csvread是否适用于1个文件? –