Merging specific rows from multiple text files.
조회 수: 3 (최근 30일)
이전 댓글 표시
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
채택된 답변
Guillaume
2016년 11월 29일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 String Parsing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!