1.用到的函数
- M=csvread(‘filename.csv’,R,C). 从第R行、第C列开始,将filename.csv文件中的数据(只能是数字)写入矩阵M中。
- csvwrite(‘filename.csv’,M,R,C). 从第R行、第C列开始,将矩阵M中的数据(只能是数字)写入filename.csv文件中。若当前路径中不存在filename.csv这个文件,会自动生成改文件,这一点和xlswrite函数不同。
- D=dir(‘direcory_name’). 返回一个M-by-1结构体矩阵,包括元素:name, data, bytes,isdir, datanum
2.思路和代码
利用dir得到文件夹中CSV文件的文件名,然后利用csvread将每一个文件中的数据写入矩阵中,对矩阵求平均后将其写入名为aveOri.csv和aveOth.csv中
%这个程序的功能是求解多个CSV文件相应位置处的平均值
%只读取文件中的数字部分,从第row行,第column列开始,从0开始计数。
D=dir('*.csv'); %读取当前文件夹中的.csv文件的文件信息,我们需要文件名
sumOri=csvread(D(1,1).name,1,1);
sumOth=csvread(D(2,1).name,0,1);
for i=2:length(D)/2
%计算Origin文件的和
sumOri=sumOri+csvread(D(2*i-1,1).name,1,1);
end
for i=2:length(D)/2
%计算Other文件的和
sumOth=sumOth+csvread(D(2*i,1).name,0,1);
end
aveOri=sumOri/(length(D)/2)
aveOth=sumOth/(length(D)/2)
%将计算结果写入新建的csv文件中
csvwrite('aveOri.csv',aveOri,1,1);
csvwrite('aveOth.csv',aveOth,0,1);```