论如何快速完成文件汇总和统计任务

论如何快速完成文件汇总和统计任务

咱就是说,大学生和研究生当个班委,一天天杂事可真多,尤其收excel表以及统计人数等,费时费力。那么如何快速解决这些问题,就是我们今天这篇博文的主要目标。

拿我个人的任务来说:
完成一个党员代表、纪委代表、党委代表的票数汇总,并选出票数最高的前30个。我们支部共35个人,每人都要完成选举,也就是说每人要交三个excel表格,那么我一共会收到363个表格。每个表格会出现30多个名字,那么我要统计的数据就有363*30=3240条数据,一个一个数估计要累死我,此时自动化办公就派上用场。

首先,收表

直接发个在线云盘链接,让大家把每个人的excel表格按三个类别提交到相应的云盘文件夹里。

其次,汇总

拿党员代表的汇总为例,党员代表文件夹里一共有35个excel表格,我的想法是,把35个表格 的有用信息汇总到一个大的excel里,此时用matlab的xlsread和xlswrite函数就肥肠滴方便。
具体代码如下所示:

%% dangyuan
clc;
clear all;
data = cell(1,2);%xlsread读出来是元组,所以构建空元组,便于后期多个元组的并联
path  = 'C:\Users\admin\Desktop\党员代表大会候选人提名表-三支部\';  %此处文件地址改为需要的文件夹路径
Filesname = dir(strcat(path,'*.xlsx')); %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
Length = length(Filesname );    %计算文件夹里xls文档的个数
for i = 1:Length        %批量读取文件的内容并保存
    [num,txt] = xlsread(strcat(path,Filesname (i).name),'B6:C15');
    file_name = Filesname (i).name;
    [m,n] = size(txt);
    if n==1%为什么加if语句,因为有的人不好好填表,有的人不填第二列,导致元组并联出错,所以加个if聚语句防止报错
        data = data;
    else
        data = [data
            txt];
    end
    %eval( ['T',num2str(i),'=','txt'] );
end

xlswrite("dangyuandatanew.xlsx",data);%最后把并联起来的数据写到文件里




%% dangwei
clc;
clear all;
data = cell(1,2);
path  = 'C:\Users\admin\Desktop\党委委员候选人提名表-三支部\';  %此处文件地址改为需要的文件夹路径
Filesname = dir(strcat(path,'*.xlsx')); %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
Length = length(Filesname );    %计算文件夹里xls文档的个数
for i = 1:Length        %批量读取文件的内容并保存
    [num,txt] = xlsread(strcat(path,Filesname (i).name),'B5:C37');
    file_name = Filesname (i).name;
    [m,n] = size(txt);
    data = [data;txt];
    %eval( ['T',num2str(i),'=','txt'] );
end

xlswrite("dangweidatanew.xlsx",data);



%% jiwei
clc;
clear;
data = cell(1,2);
path  = 'C:\Users\admin\Desktop\纪委委员候选人提名表-三支部\';  %此处文件地址改为需要的文件夹路径
Filesname = dir(strcat(path,'*.xlsx')); %找到当前路径文件夹下的以.xlsx为后缀的文件名,strcat是横向连接字符的函数
Length = length(Filesname );    %计算文件夹里xls文档的个数
for i = 1:Length        %批量读取文件的内容并保存
    [num,txt] = xlsread(strcat(path,Filesname (i).name),'B5:C18');
    file_name = Filesname (i).name;
    [m,n] = size(txt);
    data = [data;txt];
    %eval( ['T',num2str(i),'=','txt'] );
end

xlswrite("jiweidatanew.xlsx",data);



最后,统计

统计操作可以在excel里直接进行,分为两步走。

第一步,统计各个名字出现的频数,这个直接用excel函数countif就可以解决。
第二部,排序。excel基本功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值