matlab 如何连续导入多个excel文件并分别保存变量

我现在有n个excel文件,我想把他们导入到matlab里去,然后每个excel文件生成一个变量,然后将生成的n个变量分别保存成n个.mat文件,我弄了如下代码,可是不成功啊,求大大指导。for i = 1:20file_header = 'Device_';file_number = num2str(i);file_suffix = '_Volts.xlsx';file_name = [file_header file_number file_suffix];if (i<10)filename = [file_header '0' file_number file_suffix];elsefile_name = [file_header file_number file_suffix];enddevice{i} = importfile(file_name);save('Device{i}','device{i});end运行到导入命令的时候,如果我用device(i)=importfile(file_name), matlab会报错说In an assignment A(I) = B, the number of elements in B and I must be the same.如果我用device{i}=importfile(file_name), 会生成一个cell,里面有全部的变量。。但不是分别的变量,怎么样把这些变量分离出来呢?
最新回答
雨季盛开的花

2025-03-22 12:12:59

我把我总结的给楼主收一下,希望楼主用的到一、MATLAB数据输入很简单:菜单-->FILE-->import data.搞定(可从excel ,txt中导入);二、变量工作区有一个导入数据的按钮直接点击使用即可导入;三、在工作区直接新建变量,然后用复制粘贴功能即可,新建变量进行编辑时就想excel一样简单操作。还有三种方法,也是非常常用:方法1: 将数据直接粘贴 .m 文件中或者粘贴到 .txt 中,放在当前工作目录下,用load 来调用,文件名就是变量名。导出时用,save命令,一种是临时保存二进制文件在工作区方便以后程序用,另一种需要一asc文件倒出来,写文章那个用,方法如下: save 'b.txt' B -ascii %(把矩阵B的数据,导出到了TXT文件中,名字为b.txt),注意空格,-ascii 前有空格。方法二:先粘贴同一中,然后再 用dlmread函数来调用,A=dlmread('data.m') 。注意单引号。方法三:从cecel中直接导入用xlsread函数,eg: a=xlsread('yi.xlsx')。 同样注意 单引号。导出时使用 xlswrite('a.xlsx',a) 即可。
残暴的安妮

2025-03-22 10:59:41

楼主不妨用xlsread试试
格式为:
[num,txt,raw]
=
xlsread(filename,sheet);
其中
num,
txt和raw
分别是
数据,文本和未分类处理的所有信息。
filename是文件名,比如你的文件为
table1.xls,文件名写
'table1.xls',
sheet表示excel的第几个表格。
许多

2025-03-22 19:48:14

就用device{i}用不行吗,或者试试strvcat行不