我有1000个文本文件,其名称为A0000.txt,A0001.text,...,A1000.text。 我想读取文本文件中的信息并将其中的一些存储在excel文件或csv文件中(首选csv)。
我应该如何定义可以执行此任务的for循环?
我可以使用此函数A = textread('A0000.txt','%s')
来读取一个文本文件,但我不知道应该如何将它放在for循环中。如果文件的名称是1.txt,2.txt,...,1000.txt则会更容易。
如果你能提供任何帮助,我将感激不尽。
答案 0 :(得分:5)
您应该使用sprintf
生成相关字符串:
for i=1:1000
fileName = sprintf('A%04d.txt',i);
A{i} = textread(fileName ,'%s')
end
%04d
告诉sprintf
该号码应该有前导零。
答案 1 :(得分:3)
以下内容生成当前目录中包含的txt文件列表。然后它读入所有文件。如果文件名不是连续的,这很有用。
filelist = dir([pwd() filesep '*.txt' ]);
fileNames = {filelist.name}';
nFiles = length(fileNames);
for i= 1:nFiles
TF{i} = textread(fileNames{i},'%s');
end