35 lines
1.3 KiB
Matlab
35 lines
1.3 KiB
Matlab
% -----------------
|
|
% Copyright © 2023 ACK Cyfronet AGH, Poland.
|
|
% -----------------
|
|
|
|
function parsedValue = parseTextValue(rawValue, type, timeFormat)
|
|
% DESCRIPTION: Program that parses and returns value read from the text (a cell from a CSV file).
|
|
% INPUTS:
|
|
% - rawValue : value to parse
|
|
% - type : type of the value as defined by CsvColumnContentType.java
|
|
% - timeFormat : if the rawValue contains time, this format is used to parse it
|
|
|
|
switch type
|
|
case {'REAL', 'INTEGER'}
|
|
try
|
|
parsedValue = str2num(rawValue);
|
|
catch
|
|
error('Cannot parse number input (type: %s): %s', type, rawValue);
|
|
end
|
|
if isempty(parsedValue)
|
|
% we checked if the value is empty before parsing (and such value will not be parsed), if the value is empty
|
|
% here (after parsing), it means that it was in a wrong format and could not be parsed
|
|
error('Cannot parse number input (type: %s): %s', type, rawValue);
|
|
end
|
|
case 'TEXT'
|
|
parsedValue = {rawValue};
|
|
case 'DATE_TIME'
|
|
try
|
|
parsedValue = datenum(rawValue, timeFormat);
|
|
catch
|
|
error('Invalid input time format specification or CSV content to parse (%s)', rawValue);
|
|
end
|
|
otherwise
|
|
error('Unexpected input column type %s', type);
|
|
end
|
|
end |