Matlab 如何将字符附加到现有csv文件中?
所以我有一个csv的形式Matlab 如何将字符附加到现有csv文件中?,matlab,octave,Matlab,Octave,所以我有一个csv的形式 1,2,3,4,5 6,7,8,9,10 等等 但是,我希望能够在每个记录的末尾附加一个字符串,如 1,2,3,4,5,A 6,7,8,9,10, B 等等 在matlab/octave中是否有有效的解决方案?对于matlab,可能的解决方案是: test= readtable('Test.csv'); sz=size(test); Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; for i=1:sz(1)
1,2,3,4,5
6,7,8,9,10
等等
但是,我希望能够在每个记录的末尾附加一个字符串,如
1,2,3,4,5,A
6,7,8,9,10, B
等等
在matlab/octave中是否有有效的解决方案?对于matlab,可能的解决方案是:
test= readtable('Test.csv');
sz=size(test);
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
for i=1:sz(1)
test(i,sz(2)+1)={Alphabet(i)};
end
writetable(test,'Test.csv','Delimiter',',','WriteVariableNames',0);
要添加的字符串将在变量
Alphabet
中定义,并且Test.csv
将被文件名替换。如果愿意,您甚至可以更改分隔符。您可以通过使用字母的名称来很好地完成此操作
% Read input table.
inputTable = readtable('q57422719.csv','Format','%s%s%s%s%s');
% Determine number of rows.
nRows = size(inputTable,1);
% ASCII offset for capital A
asciiOffset = 65;
% Create letters vector.
letters = char((asciiOffset:1:asciiOffset+nRows-1)');
% Create output table.
outputTable = inputTable;
% Append letters at end of rows.
outputTable = [outputTable cellstr(letters)];
% Write to file.
writetable(outputTable,'q57422719_output.csv','WriteVariableNames',0);
当然,如果您有26个以上的字母,那么代码将使用下一个字符([
,\
等等)
对于输入文件:
1,2,3,4,5
6,7,8,9,10
输出为:
1,2,3,4,5,A
6,7,8,9,10,B
这也是一个很好的方法。谢谢