Первое, что нужно понимать, что .csv файл имеет очень простой формат. Ваш выше файл на самом деле это обычный текстовый файл со следующим текстом на каждой строке:
id,A001
height
a1,a2,a3
3,4,5
3,4,5
6,7,5
weight
a1,a2,a3
4,4,5
5,4,6
i6,7,5
Так что не все, что трудно для вас, чтобы написать свой собственный парсер в Matlab. Вы хотите использовать такие команды, как
fid = fopen('filename.csv','r');
L = fgetl(fid); % get a text line from the file
commas = find(L==','); % find where the commas are in the line
n1 = str2num(L(1:commas(1)-1); % convert the first comma-delimited number on line L
fidout - fopen('myfile.csv','w');
Lout = [ L(commas(2)+1:commas(3)-1) ', a1, a1'];
fwrite(fidout,Lout); % write a line out to the output file
fclose all; % close all open files.
Это будет казаться медленным при первом чтении различных значений в различные переменных, а затем, расположив их писать так, как вы хотите их выписали в свой выходной файл. Но как только вы начнете кататься, он пойдет довольно быстро, и вы обнаружите, что имеете довольно хорошее представление о том, что есть в файлах, и вы будете знать из первых рук, что связано с написанием чего-то вроде texscan.m
или csvwrite.m
и так далее.
Удачи вам!