xlswrite:在工作表名称或某处显示变量名称

时间:2016-06-20 00:17:20

标签: python matlab

  1. 我正在使用xlswrite。
  2. 我将大量变量放入一个xlsx文件的不同表中。

    一张纸的一个变量。

    所以我想把变量的名称作为工作表的名称。

    我找不到任何执行此操作的命令。所以也许这应该通过编写一些python并在matlab中有一行来调用那个py文件来完成。

    1. 如果这是不可能的,我将尝试将变量的名称放在第一行。但是,当变量有多于1列时,则表示vertcat不起作用。

      xlswrite('test.xlsx',vertcat('A',[1 3; 1 2]))

    2. 我该怎么办?

      ======================

      后续问题

      我根据Suever的回答编写了以下内容。

      function xlswr(file_name,varargin)
      xlswrite(file_name,varargin{i},inputname(i+1))
      

      但是,当我通过

      调用此功能时
      xlswr('test.xlsx', A, A(:,2))
      

      然后A打印在test.xlsx上,但A(:,2)不打印。

      每当输入不只是像A这样的全名,而是变量的某些部分,那么它就不会打印出来。

      我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您遇到问题的原因是您尝试将1 x 1的字符串垂直连接到2 x 2的数据,因此您显然会出现维度不匹配的问题。

如果要指定工作表名称,只需使用third inputxlswrite将工作表的名称指定为字符串。

xlswrite('test.xlsx', [1 3; 1 2], 'A')

或者,如果要包含文本和数字数据,则始终可以传递单元数组而不是数字数组。这会将字符串和数字放入同一张表

xlswrite('test.xlsx', vertcat({'A', 'B'}, num2cell([1 3; 1 2])));