Putting first line of text files in seperate rows
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, i have four text files.I need to open and read first line of each text file and put each of these lines one after another in a vector. In the corresponding code shown, it just puts all the lines in a single row of the vector. Any help will be appreciated.
for ii = 1:number_of_files
varNames = textscan(fileID, format, 1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'TextType', 'string', 'ReturnOnError', false);
time_start_of_experiment = [varNames{:}];
end
댓글 수: 2
Rik
2018년 8월 20일
You have the output as a cell, but then you convert it to a row yourself. Also you are overwriting the output every cycle of your loop. Is the varNames correct, but now you need a way to concatenate the result in a cell array?
채택된 답변
dpb
2018년 8월 20일
time_start_of_experiment = cell(number_of_files,1);
for ii = 1:number_of_files
varNames = textscan(fileID, format, 1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'TextType', 'string', 'ReturnOnError', false);
time_start_of_experiment(ii,1) = varNames;
end
The above snippet doesn't seem correct in that it uses the same fileID for every pass through the loop; that would be reading subsequent records in the same file, not a single record in a sequence of separate files.
That would need an fopen/fclose pair inside the loop surrounding the call to textscan and an incrementing on an array of file names.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Text Files에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!