如何将字符附加到我现有的 csv 文件?

How do I append a character to my existing csv file?

所以我有一个格式为

的 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 将替换为您的文件名。如果需要,您甚至可以更改分隔符。

您可以使用字母的 ASCII representation 很好地做到这一点。

% 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