dan@0: function [txt_struct] = readCSV(file) dan@0: dan@0: % text openen om volledig in te lezen dan@0: fid = fopen(file); dan@0: txt = ''; dan@0: if fid ~= -1 dan@0: while 1 dan@0: line = fgetl(fid); dan@0: if ~ischar(line), break, end dan@0: txt = [txt line ' \n ']; dan@0: end dan@0: end dan@0: fclose(fid); dan@0: dan@0: % text aanpassen dan@0: txt_struct = {}; dan@0: l = 1; dan@0: k = 1; dan@0: voorlopigVak = ''; dan@0: volgendeOverslaan = false; dan@0: for i = 1:length(txt) dan@0: switch txt(i) dan@0: case ';' dan@0: txt_struct{l,k} = voorlopigVak; dan@0: voorlopigVak = ''; dan@0: k = k+1; dan@0: case '\' dan@0: if txt(i+1) == 'n' dan@0: txt_struct{l,k} = voorlopigVak; dan@0: voorlopigVak = ''; dan@0: l = l+1; dan@0: k = 1; dan@0: volgendeOverslaan = true; dan@0: else dan@0: if volgendeOverslaan == false dan@0: voorlopigVak = [voorlopigVak txt(i)]; dan@0: else dan@0: volgendeOverslaan = false; dan@0: end dan@0: end dan@0: otherwise dan@0: if volgendeOverslaan == false dan@0: voorlopigVak = [voorlopigVak txt(i)]; dan@0: else dan@0: volgendeOverslaan = false; dan@0: end dan@0: end dan@0: end dan@0: dan@0: % lege lijnen (of met spaties) onderaan wissen dan@0: ok = false; dan@0: while ok == false dan@0: for i = 1:size(txt_struct,2); dan@0: for j = 1:length(txt_struct{end,i}) dan@0: if not(strcmp(txt_struct{end,i}(j), ' ')) dan@0: ok = true; dan@0: end dan@0: end dan@0: end dan@0: if ok == false dan@0: txt_struct = txt_struct(1:end-1,:); dan@0: end dan@0: end dan@0: end