Dump a struct to an ascii delimited file

2 次查看(过去 30 天)
Dear all, I have a code that looks like that
for i=1:10
mystruct.filename=sprintf('test %d',i);
mystruct.number=1;
end
and I want to dump these data in ascii file with comma or tab delimited Every line in the file I want to be one iteration so the file to look like
test1,1 test2,2 test3,3 ...
How can I dump a struct to an ascii file?
Best Regards Alex
  1 个评论
Friedrich
Friedrich 2011-8-16
Are you sure that your code looks like this? Since the above code will result in one struct with
filename: 'test 10'
number: 1
as values/fields.

请先登录,再进行评论。

采纳的回答

Friedrich
Friedrich 2011-8-16
Hi,
only a guess:
for i=1:10
mystruct(i).filename=sprintf('test %d',i);
mystruct(i).number=i;
end
txt = struct2cell(arrayfun(@(x) structfun(@num2str,x,'UniformOutput',false),mystruct));
tmp = squeeze(strcat(txt(1,1,:),',',txt(2,1,:),';'));
fid = fopen('out.txt','w');
fprintf(fid,'%s',strcat(tmp{:}))
fclose(fid)
  7 个评论
Friedrich
Friedrich 2011-8-18
Another guess. I created a dummy cell a which has some rows and columns:
a = {'abcde', 'fghi', 'jk','l'; '1','2','3','4'};
[n m] = size(a);
b = cell(n,2*m);
b(:,1:2:2*m-1) = a;
b(:,2:2:end) = {','};
b(:,end) = {';'};
fid = fopen('out.txt','w');
for i=1:n
fprintf(fid,'%s \n',strcat(b{i,:}));
end
fclose(fid);
Alex
Alex 2011-9-2
Ok this one worked for me!!!!
txt = struct2cell(arrayfun(@(x) structfun(@num2str,x,'UniformOutput',false),s));
for k=1:length(s) % Dump rows to the file. Every struct entry is a line into the file
formRow=squeeze((strcat(txt(:,:,1),';')));
fid = fopen('measurementLogFiles.txt','a');
fprintf(fid,'%s',formRow{:});
fclose(fid);
end
My problem is that I want now to write the new rows into a new lines.
As the code is righ now every row is appended to the right of the last one. Unfortunately I can not split that into many new lines in excel.
Could you please help me append every measurement with a cr and lf?
I would like to thank you in advance for your help
B.R
Alex

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by