Mercurial > hg > dcase2013_ed_vuegenetal
annotate functions/funcsMobilab/readCSV.m @ 0:2fadb31a9d55 tip
Import code by Vuegen et al
author | Dan Stowell <dan.stowell@elec.qmul.ac.uk> |
---|---|
date | Fri, 11 Oct 2013 12:02:43 +0100 |
parents | |
children |
rev | line source |
---|---|
dan@0 | 1 function [txt_struct] = readCSV(file) |
dan@0 | 2 |
dan@0 | 3 % text openen om volledig in te lezen |
dan@0 | 4 fid = fopen(file); |
dan@0 | 5 txt = ''; |
dan@0 | 6 if fid ~= -1 |
dan@0 | 7 while 1 |
dan@0 | 8 line = fgetl(fid); |
dan@0 | 9 if ~ischar(line), break, end |
dan@0 | 10 txt = [txt line ' \n ']; |
dan@0 | 11 end |
dan@0 | 12 end |
dan@0 | 13 fclose(fid); |
dan@0 | 14 |
dan@0 | 15 % text aanpassen |
dan@0 | 16 txt_struct = {}; |
dan@0 | 17 l = 1; |
dan@0 | 18 k = 1; |
dan@0 | 19 voorlopigVak = ''; |
dan@0 | 20 volgendeOverslaan = false; |
dan@0 | 21 for i = 1:length(txt) |
dan@0 | 22 switch txt(i) |
dan@0 | 23 case ';' |
dan@0 | 24 txt_struct{l,k} = voorlopigVak; |
dan@0 | 25 voorlopigVak = ''; |
dan@0 | 26 k = k+1; |
dan@0 | 27 case '\' |
dan@0 | 28 if txt(i+1) == 'n' |
dan@0 | 29 txt_struct{l,k} = voorlopigVak; |
dan@0 | 30 voorlopigVak = ''; |
dan@0 | 31 l = l+1; |
dan@0 | 32 k = 1; |
dan@0 | 33 volgendeOverslaan = true; |
dan@0 | 34 else |
dan@0 | 35 if volgendeOverslaan == false |
dan@0 | 36 voorlopigVak = [voorlopigVak txt(i)]; |
dan@0 | 37 else |
dan@0 | 38 volgendeOverslaan = false; |
dan@0 | 39 end |
dan@0 | 40 end |
dan@0 | 41 otherwise |
dan@0 | 42 if volgendeOverslaan == false |
dan@0 | 43 voorlopigVak = [voorlopigVak txt(i)]; |
dan@0 | 44 else |
dan@0 | 45 volgendeOverslaan = false; |
dan@0 | 46 end |
dan@0 | 47 end |
dan@0 | 48 end |
dan@0 | 49 |
dan@0 | 50 % lege lijnen (of met spaties) onderaan wissen |
dan@0 | 51 ok = false; |
dan@0 | 52 while ok == false |
dan@0 | 53 for i = 1:size(txt_struct,2); |
dan@0 | 54 for j = 1:length(txt_struct{end,i}) |
dan@0 | 55 if not(strcmp(txt_struct{end,i}(j), ' ')) |
dan@0 | 56 ok = true; |
dan@0 | 57 end |
dan@0 | 58 end |
dan@0 | 59 end |
dan@0 | 60 if ok == false |
dan@0 | 61 txt_struct = txt_struct(1:end-1,:); |
dan@0 | 62 end |
dan@0 | 63 end |
dan@0 | 64 end |