Joh*_*ews 1 excel matlab matlab-table
给定一个包含很多的Matlab表NaN,如何将此表写为excel或csv文件,其中NaN被空格替换?
我使用以下功能:
T = table(NaN(5,2),'VariableNames',{'A','C'})
writetable(T, filename)
Run Code Online (Sandbox Code Playgroud)
我不想用零替换它.我想要输出文件:
你只需要xlswrite那个.它NaN用空白替换s.使用table2cell或组合table2array和num2cell你的表转换到一个单元阵列.使用VariableNames表的属性检索变量名称并使用单元格数组填充它们.
data= [T.Properties.VariableNames; table2cell(T)];
%or data= [T.Properties.VariableNames; num2cell(table2array(T))];
xlswrite('output',data);
Run Code Online (Sandbox Code Playgroud)
示例运行:
T = table([1;2;3],[NaN; 410; 6],[31; NaN; 27],'VariableNames',{'One' 'Two' 'Three'})
T =
3×3 table
One Two Three
___ ___ _____
1 NaN 31
2 410 NaN
3 6 27
Run Code Online (Sandbox Code Playgroud)
收益率:
虽然上面的解决方案在我看来比较简单,但如果你真的想使用writetable那么:
tmp = table2cell(T); %Converting the table to a cell array
tmp(isnan(T.Variables)) = {[]}; %Replacing the NaN entries with []
T = array2table(tmp,'VariableNames',T.Properties.VariableNames); %Converting back to table
writetable(T,'output.csv'); %Writing to a csv file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1536 次 |
| 最近记录: |