Merging specific rows from multiple text files.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dom Smith
am 29 Nov. 2016
Beantwortet: Guillaume
am 29 Nov. 2016
I have time series data for a day, split into roughly 5 minute segments each of which is in a separate txt file, each with several rows of headers and information above the data.
Hence I want to merge all 198 txt files to one txt file with only the continuous timeseries data. How can I merge the files, removing the 30 rows of unnecessary information from the top of each.
I have had success merging them all together using the code below, but that is without removing the initial 30 rows from each .txt file
files=dir('*.txt');
fileout='merged.txt';
fout=fopen(fileout,'w');
for cntfiles=1:length(files)
fin=fopen(files(cntfiles).name);
while ~feof(fin)
fprintf(fout,'%s %d\n',fgetl(fin),cntfiles);
end
fclose(fin);
end
fclose(fout);
0 Kommentare
Akzeptierte Antwort
Guillaume
am 29 Nov. 2016
I don't see where the difficulty is in modifying your code to skip the writing of the first 30 lines of each file:
%...
fin=fopen(files(cntfiles).name);
linecount = 0;
while ~feof(fin)
linecount = linecount + 1;
linetext = fgetl(fin);
if linecount >= 31 %The first 30 lines are header lines that should be skipped
fprintf(fout, '%s %d\n', linetext, cntfiles);
end
end
%...
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Text Files finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!