Matlab 如何将字符附加到现有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)

所以我有一个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)
    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

这也是一个很好的方法。谢谢