Dear all,
I have a huge structure array of patient datasets that looks like this:
(patient_name).(year_of_visit).(type_of_visit).(score)
I need to convert this structure array to excel or csv file in a matter I'd be able to use it in Excel, SPSS, etc for further analysis. However, I'm not able to export this easily. Any input is much appreciated!

2 件のコメント

Walter Roberson
Walter Roberson 2012 年 6 月 25 日
I take it the goal would be to output the relevant structure member names, and the content of the score field, as rows ?
Arman
Arman 2012 年 6 月 26 日
That's correct. Your script almost do the trick. Thanks

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2012 年 6 月 25 日

1 投票

This is probably most easily done through recursion and basic file I/O
function dump_patient_record( fields_above_here, current_level, fid )
if ~isstruct(current_level)
fprintf(fid, '%s,', fields_above_here{:});
fprintf(fid, '%f\n', current_level ); %assuming it is a scalar for simplicity
else
thesefields = fieldnames(current_level);
for K = 1 : length(thesefields)
thisfield = thesefields{K};
dump_patient_record( [fields_above_here {thisfield}], current_level.(thisfield), fid );
end
end

その他の回答 (1 件)

Tom
Tom 2012 年 6 月 25 日

0 投票

The struct2cell function is probably what you need, though you'll have to dig through a bit as it only goes to the first level of the structure

カテゴリ

ヘルプ センター および File 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