Matlab批量处理excel文件并画图保存

// 做光纤项目遇到四百多个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:\实验调研\测试数据')

最后也留下我修改后的代码给大家作参考,也可以给自己留一个备份:

2020.06.26

以上,完。

你可能感兴趣的:(Matlab批量处理excel文件并画图保存)