从多个excel文件中提取特定数据,并从这些文件中创建单个矩阵

45次浏览(过去30天)
嗨,我在我的电脑上有一个接近1000个excel文件的文件,我不想手动从每个excel文件中手动提取第二行并合并成一个excel文件。
我想知道我如何在Matlab中做到这一点通过读取特定文件中的每个Excel文件并从第二行中取出所有列然后将所有这些组合成一个矩阵?
谢谢你的帮助

接受的答案

马修•诺伊
马修•诺伊 2021年8月31日
你好
这是一个示例,如果您想计算出整个文件夹
我假设它将是数值数据,所以我使用importdata(更快)
我还按自然顺序对文件名进行了排序,以防它们可能相关
即使你的文件有不同的大小(列数),它也能工作
clc
clearvars
fileDir = cd;
输出文件=“OUT.xlsx”%输出文件名
fileNames = dir(fullfile(cd,‘* .xlsx‘));%获取目录中所有excel文件的列表
fileNames_sorted = natsortfiles({filenames_name});将文件名按顺序排序
M= length (fileNames_sorted);
f = 1:M
%选项# 1仅用于使用importdata的数值数据
raw = importdata(fullfile(fileDir, fileNames_sorted{f}));
Second_row {f} = raw(2,:);%提取第二行
结束
将所有第二行写入一个矩阵并存储在excel文件中
writecell (second_row ', fullfile (cd,输出文件));
14日的评论

登录评论。

更多答案(1)

我J
我J 2021年8月31日
编辑:我J 2021年8月31日
你可以使用 readmatrix ( 假设所有值都是数值,否则使用 readtable )或 fileDatastore 读取这些文件。像这样的东西应该工作:
Myfiles = [“file1.xlsx”“file2.xlsx”];%文件名:使用dir在目标目录内生成文件名
数据= [];
I = 1: nummel (myfiles)
TAB = readmatrix(myfiles(i));%参见readmatrix获取更多选项
数据=[数据;选项卡(2)):;将所有文件的第二行聚合到一个新矩阵中
结束
13个评论
乔纳斯叫做
乔纳斯叫做 2021年9月1日
不好意思,错误是只打印了401和0。问题已经解决了,非常感谢你的帮助。

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!