how to read data from multiple files and save in single file

i have 5000 text files each file having(1*50). i need to read those all files from top to bottom order and want to save them in single text file.which should contain all data from those 5000 files(5000*50).

 채택된 답변

Jan
Jan 2013년 8월 7일
편집: Jan 2013년 8월 7일
This concatenates the files directly without a conversion to doubles and back again:
pathName = 'C:\Temp';
fileList = dir(fullfile(pathName, '*.txt'));
out = fopen(fullfile(pathName, 'Joined.txt'), 'w');
for k = 1:numel(fileList)
s = fileread(fullfile(pathName, fileList(k).name));
fwrite(out, s, 'char');
end
fclose(out);
Perhaps it is needed to care about a trailing line break:
if s(end) =~ char(10) && s(end-1:end) ~= char([13, 10])
fwrite(out, char(10), 'char'); % Or char([13,10]) ?
end

댓글 수: 4

since the output of above is a string. but output of the file have to delimited,because input text files contains names and numbers.whether it can b done with dlmwrite function ?
thanks...its working...if i need excel output file. why cant we use xlswrite to save output from second row,is it possible to modify in above using xlswrite?
How could concatenate the files skipping the header row?
Thank you so much. can anyone please tell me how I can understand each line in the code? what 'w'w does and what is the purpose of the for loop logic?

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

David Sanchez
David Sanchez 2013년 8월 7일
my_files = dir('*.txt');
N_files = numel( my_files );
A = zeros( numel(my_files),50 ); % initialize matrix to hold data
for k = 1:N_files
file2read = my_files(k).name;
fid = fopen(file2read);
A(k,:) = fscanf(fid, '%g', [1 inf]); % data from file
fclose(fid);
end
% write data to new file
fid = fopen('new_file.txt', 'w');
fprintf(fid, '%g %g\n', A);
fclose(fid);

댓글 수: 1

The conversion from text to numbers and back again requires a lot of time.

댓글을 달려면 로그인하십시오.

KRUNAL
KRUNAL 2014년 7월 24일
편집: KRUNAL 2014년 7월 24일

0 개 추천

I am trying to do the same as sandy wants to. I am trying to read excel files from two different folders and output it to an excel file present in third folder. Can anyone suggest how can it be done?
P.S : I am reading only a column of data from the two files and not the entire file
hemant vyas
hemant vyas 2018년 6월 23일

0 개 추천

sir can we read and write in a video file simultaneously if I am recording video by webcam a saving it in .m file than in the same code i want to process it in matlab2013a

카테고리

도움말 센터File Exchange에서 Text Data Preparation에 대해 자세히 알아보기

질문:

2013년 8월 7일

댓글:

2019년 9월 19일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by