0001 function [names] = xxlibReadCsvHeader(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 if length(varargin)==0
0024 error('Not enough input arguments.');
0025 elseif length(varargin)>2
0026 error('Too many input arguments.');
0027 end
0028
0029 if ~ischar(varargin{1})
0030 error('Input argument 1 should be a file name.');
0031 else
0032 filename = varargin{1};
0033 end
0034
0035 if length(varargin)==2
0036 sepChar = varargin{2};
0037 else
0038 sepChar = ';';
0039 end
0040
0041 header = '';
0042
0043 fid = fopen(filename,'r');
0044 if (fid < 0)
0045 fprintf('Error: could not open file\n');
0046 return;
0047 end
0048
0049 if ~feof(fid),
0050 header = fgetl(fid);
0051 end
0052
0053 names1 = strsplit(header, sepChar);
0054
0055
0056
0057 nrNames = length(names1);
0058 i = 1;
0059 counter = 1;
0060 while( i<= nrNames)
0061
0062
0063 if ~isempty(str2num(names1{i}))
0064
0065 names = []
0066 break;
0067 end
0068
0069
0070
0071
0072
0073 if names1{i}(1) == '"'
0074
0075
0076 if names1{i}(length(names1{i})) == '"'
0077
0078 names {counter} = strrep(names1{i},'"','');
0079 else
0080
0081 names1 {i} = strrep(names1{i},'"','');
0082 names{counter} = names1{i};
0083
0084 i = i+1;
0085 names1 {i} = strrep(names1{i},'"','');
0086
0087
0088 names{counter} = strcat(names{counter}, sepChar);
0089
0090
0091 names{counter} = strcat(names{counter}, names1{i});
0092 end
0093 else
0094 names{counter} = names1{i};
0095 end
0096 counter = counter + 1;
0097 i = i + 1;
0098 end
0099 fclose(fid);
0100
0101 end
0102