Process a sequence of files
2 次查看(过去 30 天)
显示 更早的评论
EDIT2
I have a question about how can I process a sequence of files. What I've done is extract some information of one file (49271) to write it on a new one ('text'). The problem is I don't know how to do it with a sequence of txt files and also, how can write it on 'text.txt' the result 'line by line'.
myPath = 'C:\EX\';
a= dir (fullfile(myPath,'*.DIM'));
fileNames = { a.name };
for k = 1:length(fileNames)
newFileName = [fileNames{k}(1:2) fileNames{k}(4:6) '.txt'];
movefile([myPath fileNames{k}], [myPath newFileName]); % rename the files
end
`% extract information
fid = fopen('49271.txt', 'r');
for i = 1:18
m = fgetl(fid);
end
result2 = m([12:19]);
fid = fopen('49271.txt', 'r');
for i = 1:30
p = fgetl(fid);
end
result3 = p([12:19]);
fid = fopen('49271.txt', 'r');
for i = 1:31
q = fgetl(fid);
end
result4 = q([12:20]);
fid = fopen('49271.txt', 'r');
for i = 1:19
r = fgetl(fid);
end
result5 = r([12:20]);
% copy information in a new variable (of one line)
load('text.txt');
text= {newFileName, result2, result3, result4, result5}
I'm trying with the following code but I don't know how to write it:
filePattern=fullfile( myPath,'*.txt');
txtFiles= dir(filePattern);
for k = 1:length(txtFiles)
baseFileName=txtFiles(k).name;
fullFileName= fullfile(myPath,baseFileName);
fid=fopen('filePattern', 'r');
for i = 1:18
m = fgetl(fid);
end
result2 = m([12:19]);
end
Thanks in advance!
0 个评论
采纳的回答
Pedro Villena
2012-10-30
filePattern=fullfile( myPath,'*.txt');
txtFiles= dir(filePattern);
for k = 1:length(txtFiles.names),
fullFileName=fullfile(myPath,txtFiles(k).name);
fid=fopen(fullFileName, 'r');
for i = 1:18
m{i} = fgetl(fid);
end
result2 = m{12:18};
end
更多回答(1 个)
Walter Roberson
2012-10-30
It is tricky to skip characters in text files without reading them. It is much easier to read the text and throw away what you do not want.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!