Saving a uitable to text file with variable number of columns

1 次查看(过去 30 天)
Hi. I have a uitable that I populate with a variety of functions, each one has a different number of columns and colnames. I want to have a generic save function that will save regardless of the columns, and one where I can add the column names as a variable. This is my fixed column name approach. How do i adapt this for variable columns and column names.
%Save UI Table
tabledata = num2str(get(handles.uitable1,'data'));
fpath=get(handles.edit1,'String'); %get filepath from edit box
fname=get(handles.textFile,'String'); %get file name
ffull=[fpath,fname];
filename = 'C:\Output.txt';
fid = fopen(filename, 'w');
fprintf(fid, '%s\r\n', ffull);
rows=length(tabledata);
fprintf(fid,' %s %s %s %s %s %s %s\t\r\n', 'mean','mode','max','min','sd','min20','Dyn Range') %this part I want to be variable!!!!
for i = 1:rows
%tabledata(i,:)
% fprintf(fid, '%s\t %s\t %s\t %s\t %s\t %s\t %s\t \n', tabledata(i,:));
fprintf(fid, '%s\r\n', tabledata(i,:));
% fprintf(fid, '\r\n')
end
fclose(fid);
I also need to add that my table consists ofa mixture of strings and numbers by using a cell array.

采纳的回答

Jan
Jan 2016-9-26
You can use one of the many tools to export a cell to a text file from the file exchange:
  2 个评论
Jan
Jan 2016-9-28
@Jason: Writing the headers to a text file is easy. Afterwards you can use one of the tools from the FEX to append the data.

请先登录,再进行评论。

更多回答(1 个)

Jason
Jason 2016-9-26
编辑:Jason 2016-9-26
Ok, I have made some progress: Im still not able to assign the colnames properly though the the T??
tabledata = (get(handles.uitable1,'data'));
colnames=get(handles.uitable1,'columnname')
T = cell2table(tabledata,'VariableNames',colnames);
writetable(T,'output.dat')
I get the following:
colnames =
'File' 'mean(FG)' 'max(FG)' 'mean(BG)' 'Objects'
Error using cell2table (line 69)
'mean(FG)' is not a valid variable name.

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by