【发布时间】:2019-11-13 18:45:40
【问题描述】:
我正在尝试使用 datastore 和 readtable 读取不同的文件 (txt),以便解析它们并将它们写入 .mat 文件。
我正在使用ds = datastore('*.txt').Files 来获取目录中的所有文件名,然后使用 for 循环遍历所有不同的文件并使用不同的名称保存它们。
但是,当我在 matlab 中导入文件时,它们具有所有相同的表名 (dat)。
代码如下:
ds = datastore('*.txt');
fnames = ds.Files;
l = length(fnames);
for i = 1:l
dat = readtable(fnames{i}, 'Delimiter', '\t');
dat.Properties.VariableNames(1:2) = {'rpm', 'p_coll'};
dat = removevars(dat{i},20:width(dat));
save([fnames{i} '.mat'],'dat');
end
我尝试使用 dat 数组,但没有成功。有什么想法吗?
【问题讨论】:
-
为什么要不同的表名?你会得到什么额外的好处?如果有 100 个文件,你想要 100 个不同的表变量?那将是一件非常糟糕的事情。