2017-10-20 17 views
1

我真的是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

我已经工作了它一整天,但我觉得总是错误代码。请帮我:(。预先感谢您非常对你有所帮助。

+0

你介意提供的csv文件的一些示例内容只是为了告知使用什么功能,你能不能也包括你的代码到目前为止?你是否试图合并csv文件的内容?你的第一句话不清楚。 –

+0

嗨@PhilipBrack我编辑了我的问题。谢谢。 –

+0

你的csvread是否适用于1个文件? –

回答

0

随着错误消息状态,你试图引用myFiles作为一个单元阵列时,事实并非如此。的dir输出是一个结构,它不能被索引像一个单元阵列

你想要做类似下面:?

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

谢谢你的回答@excaza但是我仍然收到一条错误消息。如果我想使用分号分隔的表单,如何在我的代码中进行调整?谢谢 –

+0

@KasihDitaningtyas使用['dlmread'](https://www.mathworks.com/help/matlab/ref/dlmread.html)。 – excaza

相关问题