2017-03-27 4 views
1

私は、16個の整数からなる100万行以上のデータファイルを持っています(これは問題ではありません)。私はOctaveでその行を処理する必要があります。明らかに、ファイル全体をロードすることは不可能です。特定の行だけをロードするにはどうすればよいですか?特定の行のみをロードする

私は二つの可能性を考えている

:私はCSVなるとcsvread機能 の一部を使用するために、ファイルを変換する必要がありますシンプルなI/O

  • のドキュメントで何かを見逃している

  • +0

    を取得するためにfgetlを使用することができ、それは、ファイルの途中で任意の行ですか? – Suever

    +0

    はい、そうです。ポイントは、ファイル全体をロードするのではなく、ラインを一周することです。 –

    +0

    だから行ごとに何かしたいだけですか? – Suever

    答えて

    3

    ファイルを1行ずつ繰り返し処理する場合は、ファイルを開き、fscanfを使用して各行を解析することができます。あなたは文字列として各行をしたい場合は

    fid = fopen(filename); 
    
    while true 
        % Read the next 16 integers 
        data = fscanf(fid, '%d', 16); 
    
        % Go until we can't read anymore 
        if isempty(data) 
         break 
        end 
    end 
    

    、あなたの代わりに、各ラインに

    fid = fopen(filename); 
    
    % Get the first line 
    line = fgetl(fid); 
    
    while line 
        % Do thing 
    
        % Get the next line 
        line = fgetl(fid); 
    end 
    
    関連する問題