matlab 批量将Excel表数据汇总成一个表

系列文章目录

matlab 批量将Excel表数据汇总成一个表


文章目录

  • 系列文章目录
  • 前言
  • 一、如何将所有表的名字汇总成一个表 '文件名字汇总.xlsx'
  • 二、使用步骤
    • 1.导入文件名(用xlsread函数读取'文件名字汇总.xlsx')
    • 2.读入数据
    • 3.写入数据(xlsread函数的使用)
  • 总结


前言

用代码批量处理Excel可以大大减少工作量,提高工作效率。日常学习工作中,常常需要将多个Excel表部分数据汇总到一个表。本文介绍如何用matlab实现此功能。


一、如何将所有表的名字汇总成一个表 '文件名字汇总.xlsx'

参考:​怎么用excel表批量提取文件名称-百度经验 (baidu.com)

二、使用步骤

1.导入文件名(用xlsread函数读取'文件名字汇总.xlsx')

代码如下(示例):

[num1,text] = xlsread('文件名字汇总.xlsx');   
%% 初始化CSDN,生成一系列字符串,变量CSDN存储文件名字
CSDN=string(zeros(1,numel(text)));
%% 变量text是cell类型,循环将每一个名字变成char类型,存入CSDN
for i=1:numel(text)
    CSDN(i)=cell2mat(text(i)); 
end

2.读入数据

代码如下(示例):

data = [];
% 循环读取每个表的数据范围'A39:B539',并且每一个表的数据按列存入data
for i = 1:numel(text)
   num = xlsread(CSDN(i),'A39:B539');
   data = cat(2,data,num);    %按列组合
end

3.写入数据(xlsread函数的使用)

s1 = xlswrite('汇总.xlsx',data,'A2:CR502');

%% 每两列数据只有一个标签(名字),text1存入间隔开的名字,初始化text1;循环写入
text1 = string(zeros(1,2*numel(text)));   
for i = 1:96
    if mod(i,2)==0
        text1(i) = NaN;
    else
        text1(i) = cell2mat(CSDN((i+1)/2)); %将字符串取出来
    end
end
%% 在第一行写入标签
s2 = xlswrite('汇总.xlsx',text1,'B1:CR1');

总结

以上就是今天要讲的内容,本文仅仅简单介绍了matlab如何处理Excel数据,简单使用xlsread函数和xlswrite函数,以及各种不同数据类型的转换和处理

你可能感兴趣的:(matlab,开发语言)