// 做光纤项目遇到四百多个tdms文件需要批量转换成excel文件,再对其进行画图保存
// tdms文件转换成excel文件可以参考我上一篇博客(还没有写完,之后会补上去自己的做法)
// 这篇主要介绍matlab如何批量读取excel文件数据并进行画图保存
// 话不多说,我们直接上代码吧:
%% 批量处理excel文件并画图保存
%% 清除变量信息
clc ; clear ;
%% 转入数据文件目类
cd('F:\实验调研\测试数据\Jitter') %该文件夹是你存放多个excel文件的文件夹
folder = dir('*.csv'); %读取文件夹下的excel文件,返回一个结构体,结构体里面保存的是每个excel文件的信息
n = length( folder ); %文件夹下一共有几个excel文件,以便下面的循环使用
%% 开始对文件夹下的excel文件进行批量处理
for k = 1 : n
file_name = folder(k).name ; %提取excel文件的名字
file_name = char( file_name ) ;
[Data, text, alldata] = xlsread(file_name) ; %读取excel文件的数据,这里我只使用到文件中的Data,
%所以可以改为: [Data] = xlsread(file_name) ;
%% IV Format Conversion,把数据转为数值,保存
V = alldata( : , 1 ) ; I = alldata( : , 3 ) ; %这两行的内容我没有使用,提供给需要的小伙伴
V = cell2mat( V ) ; I = cell2mat( I ) ;
%% 开始画图
plot( V, I , 'b*-' , 'Linewidth' , 3 ) ; %这部分可以改成你需要对数据进行的画图处理
grid on
%%转入图片保存路径
cd('F:\实验调研\测试数据\Jitter_图片') %转到保存图片的路径
%%原数据文件名字问XXX.xlsx,因此需要去除.xlsx(即文件名的后缀),剩余XXX为图片名字
Position = find( file_name == '.' ) ;
Picturename = file_name( 1 : Position-1 ) ;
saveas( gcf, Picturename , 'bmp' ) %保存图片为bmp格式,这里你也可以改成jpg格式
clf
%% 处理下一个数据
cd('F:\实验调研\测试数据\Jitter')
end
%% 返回m文件路径
cd('F:\实验调研\测试数据')
最后也留下我修改后的代码给大家作参考,也可以给自己留一个备份:
以上,完。