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

该文描述了一个使用Matlab进行数据处理的过程,针对上百个CSV文件,提取特定时间范围内电流的平均值。通过读取文件中的时间与电流数据列,定位目标行,计算平均电流,并按源漏电压排序,最后将结果输出为新的CSV文件。
摘要由CSDN通过智能技术生成

背景:用仪器测试器件的电学特性,得到的全是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文件,并按照原来的栅压和文件夹标注好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值