matlab中 如何将100个csv文件中的数据读取到同一个列矩阵中?每一个csv文件都只有一列


你可以在D盘里建一个叫data的文件瞎巧兆夹,把你宽神的100个csv文件放进去。
如果你的csv文件是数值型的可作如下操作。
假设csv文件中第一列第二列为你要的
file=dir('D:\data\*.csv');
file_name=cell(1,1);
file_data=cell(2,1);
for i=1:size(file,1)
file_name=file(i).name;
file_data=csvread(['D:\data\'磨租,file_name]);
file_data=file_data(:,[1,2]);
end
for i=1:size(file,1)
fid=fopen(['D:\data\',num2str(i),'.txt'],'wt');
for j=1:size(file_data,1)
for k=1:size(file_data,2)
fprintf(fid,'%d\t',file_data(j,k));
end
fprintf(fid,'\n');
end
end
fclose(fid);

楼上粘了别人回答问题的代码也要按照提问者的问题改一下嘛。
你是要读到matlab的变量中成为一个文件是弊茄吧,如果一个csv文件在matlab中是一列可以如下改动
你可以在D盘里建一个叫data的文件夹,把你的闭汪100个csv文件租态察放进去。
如果你的csv文件没有表头都是数值型的可作如下操作。
读进matlab的文件起名字叫csv_data
%以下为代码部分
file=dir('D:\data\*.csv');
file_name=cell(1,1);
csv_data=[];
for i=1:size(file,1)
file_name=file(i).name;
file_data=csvread(['D:\data\',file_name]);
csv_data(:,i)=file_data;
%csv_data=[csv_data;file_data];
end
%要求你的每个csv的文件里面的行数是一样的
%如果你想把所有的csv文件的数值最后变成一列的话就是我用%注释的那句话。把前面那句删掉
%用我注释的那句话。如果有什么问题可以再问。