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

8 vues (au cours des 30 derniers jours)
sandy
sandy le 7 Août 2013
Commenté : Angana Borah le 19 Sep 2019
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).

Réponse acceptée

Jan
Jan le 7 Août 2013
Modifié(e) : Jan le 7 Août 2013
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 commentaires
julio martinez
julio martinez le 9 Oct 2018
How could concatenate the files skipping the header row?
Angana Borah
Angana Borah le 19 Sep 2019
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?

Connectez-vous pour commenter.

Plus de réponses (3)

David Sanchez
David Sanchez le 7 Août 2013
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 commentaire
Jan
Jan le 7 Août 2013
The conversion from text to numbers and back again requires a lot of time.

Connectez-vous pour commenter.


KRUNAL
KRUNAL le 24 Juil 2014
Modifié(e) : KRUNAL le 24 Juil 2014
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 le 23 Juin 2018
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

Community Treasure Hunt

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

Start Hunting!

Translated by