Info

This question is closed. Reopen it to edit or answer.

marge two different types of .CSV files

1 view (last 30 days)
ahasan ratul
ahasan ratul on 25 Apr 2018
Closed: MATLAB Answer Bot on 20 Aug 2021
I have two .csv files. 1st one has 1x134 strings in it called level.csv and 2nd one has 1000x134 numbers named sequences.csv. Can anyone help me to add these two .csv files into one? .csv file should have level as a first row and sequences from 2nd to 1000th row.
Thanks
Ahasan

Answers (1)

Walter Roberson
Walter Roberson on 25 Apr 2018
S1 = regexprep( fileread('level.csv'), '\r?\n.*', ''); %trim off any CR/LF
S2 = regexp( fileread('sequences.csv'), '\r?\n', 'split' ); %break into lines
if isempty(S2{end}); S2(end) = []; end %if final line ended with newline then there is an extra empty line
output = [{S1}; S2]);
fid = fopen('combined.csv', 'wt');
fprintf(fid, '%s\n', output{:});
fclose(fid)
The above does not assume that the line terminators are the same for both files, and assumes that each file might end in a newline but might not. The combined file will be consistent.
In the case where you are certain that level.csv ends in a newline and that the two files are consistent in their line termination, then you can reduce all this to
!copy level.csv+sequences.csv output.csv

Community Treasure Hunt

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

Start Hunting!