help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

importdata


From: mallet
Subject: importdata
Date: Wed, 21 Apr 2010 07:05:41 -0800 (PST)

Hi,
I want to import a file like this one in the way of «importdata» from
Matlab:

A ;B ;C
1 ;2 ;3
4 ;5 ;

so i wrote the function below (some parts are from Matlab).
There’ s the snag: some values are missing in files and the way i found
(using dlmread) replace it by 0. Or in the Matlab it would be replaced by
NaN. I tryed using textread with option «'emptyvalue', NaN»
but it neither do work .


function [out, delimiter, headerlines] = importdata(varargin)

        FileName = varargin{1};

        % Recupere les infos d'entree:
        if nargin > 1
                delimRequested = varargin{2};
        else
                delimRequested = NaN;
        end

        if nargin > 2
                headerlines = varargin{3};
        else
                headerlines = 1;
        end

        if nargin > 3
                disp('Too many input');
                return;
        end

        delimiter      = fct_delimiter(FileName,delimRequested);

        out.data       = dlmread(FileName,delimiter,headerlines,0);

        fid            = fopen(FileName);
        string         = fgetl(fid);
        fclose(fid);

        out.colheaders = strsplit(string,delimiter);

        % Fin importdata

function delimiter = fct_delimiter(FileName,delimRequested)
        % Defini le delimiteur 
        if isnan(delimRequested)
                fid = fopen(FileName);
                str = fread(fid, 4096,'*char')';
                fclose(fid);
                delimPrinted = guessdelim(str);%%mfile from matlab
                delimRequested = delimPrinted;

        else
                delimPrinted = sprintf(delimRequested);
        end
        delimiter = delimPrinted;
-- 
View this message in context: 
http://n4.nabble.com/importdata-tp2019104p2019104.html
Sent from the Octave - General mailing list archive at Nabble.com.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]