matlab批量处理文件夹中的csv文件(读取、处理、输出)

背景:用仪器测试器件的电学特性,得到的全是csv文件,上百个文件需要提取出合适时间范围内的电流平均值。

因为是同一台机器导出的,csv文件里面都是有规律的,我只需要其中两列关于时间和电流的数据,所以读取比较粗暴,直接读了某一个范围存在矩阵里面。

在这里记录一下,免得下次用的时候又忘了。

备注:

  1. 注意结合csv自己的特性进行处理;
  2. 随时根据甲方要求进行变动
clear;
clc;
close all;

%前期准备:主要是找一下文件路径
folder='D:\数据处理\20230225\#6\某个栅压';
Vg='某个栅压';
folder2='#6';%备注文件夹,部分需要

file_read=dir([folder,'\*.csv']);      
filename={file_read.name}; 
file_length=length(file_read);

for i=1:file_length
    id=file_read(i).name;
    path=strcat(folder,'\',id);

	%下面就是读取数据和处理数据的部分了,因人而异,还可以搞一些积分、运算、作图什么的
    V=readmatrix(path,'Range','C24:D24');
    Vds=V(1,1)-V(1,2);
    M=readmatrix(path,'Range','B251:C540');%矩阵,第一列为时间,第二列为电流
    targetRow=find(M(:,1)>5, 1, 'first');%找到大于某个时间点的第一个时间下标
    A=M(targetRow:targetRow+250,:);%选出来的合适的时间和电流,第一列为时间,第二列为电流
    B(i,1)=Vds;
    B(i,2)=mean(A(:,2));
    Ids=sortrows(B,1); %根据源漏电压从小到大重排
end
writematrix(Ids,['Ids-mean','-',folder2,'-',Vg,'.csv']); %将数据输出为csv文件,并按照原来的栅压和文件夹标注好

你可能感兴趣的:(随笔学习,matlab)