在matlab中将表格对象写入csv

在matlab中将表格对象写入csv,matlab,matlab-table,Matlab,Matlab Table,我在Matlab中有一个表对象,其单元格如快照所示: 陆地和海员舱内的单元格如下所示: 对象的类别如下所示: >> class(FileData.gTruth.LabelData.Land) ans = 'cell' >> class(FileData.gTruth.LabelData.Land{1,1}) ans = 'double' >> class(FileData.gTruth.LabelData) ans = 'tabl

我在Matlab中有一个表对象,其单元格如快照所示:

陆地和海员舱内的单元格如下所示:

对象的类别如下所示:

>> class(FileData.gTruth.LabelData.Land)
ans =
    'cell'
>> class(FileData.gTruth.LabelData.Land{1,1})
ans =
    'double'
>> class(FileData.gTruth.LabelData)
ans =
    'table'
我尝试了一些语法,如
writetable
csvwrite
,但没有得到正确的输出格式。如图所示,陆地和海员号的读数混乱(读数为列式而非行式)

我希望输出的顺序如下:

[1063 126 115 86] [1 169 158 147;1 104 165 66;728 105 276 43;950 113 971 40;1 107 810 23;227 133 48 15;618 131 107 20] [562 220 33 51;1736 167 26 28;532 130 18 15;393 129 23 14]
迄今为止的代码:

writetable(FileData.gTruth.LabelData、'labelled1.txt'、'Delimiter'、';')

您可以简单地使用二维矩阵的转置来构建新表:

Ship = [1063 126 115 86]
Land = {[1 169 158 147;1 104 165 66; 728 105 276 43; 950 113 971 40; 1 107 810 23; 227 133 48 15; 618 131 107 20]}
Seamark = {[562 220 33 51; 1736 167 26 28; 532 130 18 15; 393 129 23 14]}

t = table(Ship,Land,Seamark);
t2 = table(t.Ship,reshape(t.Land{:}.',1,[]),reshape(t.Seamark{:}.',1,[]))

writetable(t2,'mycsv.csv','WriteVariableNames',false)
mycsv.csv
文件的第一行也是唯一一行是:

1063 126 115 86 1 169 158 147 1 104 165 66 728 105 276 43 950 113 971 40 1 107 810 23 227 133 48 15 618 131 107 20 562 220 33 51 1736 167 26 28 532 130 18 15 393 129 23 14

我使用了
WriteVariableNames,false
来表示变量名不包括在文件的第一行中。

请添加您尝试的
writetable的示例代码(FileData.gTruth.LabelData、'labelled1.txt','Delimiter',';')在某些行中,我在ship和seamark中没有元素,所以它们是空单元格。在这种情况下,我会得到一个错误:
使用tablar/verifyCountVars时出错(第339行),所有变量的行数必须相同。表(第276行)中的错误numRows=表格格式。verifyCountVars(vars);标签错误(第9行)t=表格(船舶、陆地、海员)如何处理?