在CSV文件matlab中插入字符串

时间:2015-12-29 08:35:39

标签: matlab csv

如何在matlab中将字符串插入csv文件中。我用这段代码写了一些数据并创建了我的csv文件: Create and Write data into a csv file

这是代码的输出: Output of the code

我正在尝试在数字数据之前的前两列中插入一些文本..

提前感谢:)

1 个答案:

答案 0 :(得分:1)

这里有几种方法可行。 我们来看看其中一些:

  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时,它会将此,替换为您的文字。因此,如果文本太长,它将覆盖您的数据。 如何避免这种情况?

  2. 最简单的方法 - 在xlswrite功能的帮助下完成。以你的例子:

    txt = cell(size(Q))
    txt{1} = 'this is your text'
    X = [txt; num2cell(Q)]
    xlswrite('new.xlsx',X)
    

    结果:

  3. enter image description here

    此处的重要时刻:文本的单元格数必须与数据相同。但在我的例子中,我只填充了第一个单元格。

    1. 还有一种方法:读取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');
      
    2. 当然,您可以使用单元格数组c等等,依此类推。 希望它有所帮助!