答案 0 :(得分:1)
这里有几种方法可行。 我们来看看其中一些:
如果需要在csv文件中添加字符串。 例如,我创建了一些csv文件,如:
q = [1 2 3 4 5 6 7];
csvwrite('csvlist4.csv',q,2,0);
所有麻烦都是为csv添加一些字符串 - 这是因为我们需要组合数字和文本数据。除了低级别之外,Matlab没有很好的功能:
c = 'some big text';
fid = fopen('csvlist4.csv','r+');
fprintf(fid,c);
工作原理:csv中的数据是一个数组。我将数据放在第3行,所以第一行和第二行是空的,但它们有','。当您使用fprintf
时,它会将此,
替换为您的文字。因此,如果文本太长,它将覆盖您的数据。
如何避免这种情况?
最简单的方法 - 在xlswrite
功能的帮助下完成。以你的例子:
txt = cell(size(Q))
txt{1} = 'this is your text'
X = [txt; num2cell(Q)]
xlswrite('new.xlsx',X)
结果:
此处的重要时刻:文本的单元格数必须与数据相同。但在我的例子中,我只填充了第一个单元格。
还有一种方法:读取csv文件,修改它的数据并写入csv:
csvwrite('csvlist4.csv',a,2,0);
m = csvread('csvlist4.csv');
fid = fopen('csvlist4.csv','w');
c = 'your text'
fprintf(fid, c); fprintf(fid, '\n');
fclose(fid);
dlmwrite('csvlist4.csv', m(3:end,:), '-append');
当然,您可以使用单元格数组c
等等,依此类推。
希望它有所帮助!