Azzera filtri
Azzera filtri

Dump a struct to an ascii delimited file

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Friedrich
Friedrich il 16 Ago 2011
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.

Accedi per commentare.

Risposta accettata

Friedrich
Friedrich il 16 Ago 2011
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 Commenti
Friedrich
Friedrich il 18 Ago 2011
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 il 2 Set 2011
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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by