在 MATLAB 中使用 readmatrix 加载多个 Excel 文件
Posted
技术标签:
【中文标题】在 MATLAB 中使用 readmatrix 加载多个 Excel 文件【英文标题】:Loading in Multiple Excel Files using readmatrix in MATLAB 【发布时间】:2021-06-09 20:02:51 【问题描述】:我在下面有这个短代码,但我正在尝试将 5 个 excel 文件,名称 101、102、103、104 和 105.xlsx 作为单独的单元格导入 matlab 的工作区,这样我以后可以通过调用每个单元格中的一列来制作数字元胞数组。
它们的列数相同 (BS:BX) 我只需要 6 列,但会有不同的行。我是 MATLAB 新手,所以也许我在这里遗漏了一些简单的东西,它不喜欢“filename = (k,'%dtrf.xlsx');”这一行。 “无效的表达式。调用函数或索引变量时,请使用括号。否则,请检查不匹配的分隔符。”
clear all
close all
mkdir myfolder
dir myfolder
for k = 101 : 105
filename = (k,'*.xlsx');
data = readmatrix(strcat(filename),'Range','BS:BX');
end
【问题讨论】:
您好,欢迎来到 SO。您尝试生成文件名或换句话说字符串变量的方式是不对的,请尝试filename=sprintf('%d.xlsx',k)
【参考方案1】:
根据您提供的错误消息和(k,'%dtrf.xlsx')
的格式,您的循环可能类似于:
data=cell([5 1]);
for k=101:105
filename=sprintf('%dtrf.xlsx',k);
datak-100 = readmatrix(filename,'Range','BS:BX');
end
其中BS
、BX
被假定为您的 .xlsx 文件中的有效列名。
【讨论】:
您好,感谢您的评论,我忘了补充说我的 xlsx 文件的确切名称是“101trf.xlsx”,因此为什么 trf 在 for 循环中。它运行没有错误,但我的工作区现在没有任何数据。它的数据是 5x1 单元格,文件名是 105trf.xlsx,k 是 105。 您可以键入data1
来查看从第一个文件中读取的数据,键入data2
来查看第二个文件中的数据,依此类推。以上是关于在 MATLAB 中使用 readmatrix 加载多个 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章