.txt
次の形式のファイルがたくさんあります。
|file | time | color | tags |
|1 | 1:10 | red | ok, correct|
|2 | 2:20 | blue | bad |
|3 | 1:20 | yellow | sometag |
最初の行は列名を指定します。後続の行は「データベース」エントリです。
このファイルを読み、すべての情報をMatlab構造に入れたいと思います。これを行う最も効率的な方法は何でしょうか。
textread
'delimiter', '\n'
各行を個別に処理しますか?textread
どのエントリが一緒'delimiter', '|'
に属しているかを判断する必要がありますか?fread
1行ずつ?
textread
withの便利さは気に入っていますが、各列の個々のエントリを(ループ'delimiter', '\n'
を使用して)取得するのは非常に面倒です。for
または、次を使用して各行を分割することもできますregexp
。
regexp(file{1}, '\|', 'split')
ただし、これは各行を分割するだけで、空白は処理されません(空白をregexp
取り除くには、別の呼び出しが必要になります)。
では、これを行うための最も簡単な(そしておそらく最も効率的な)方法は何ですか?
EDIT1db = struct('file', [], 'time', [], 'color', [], 'tags')
最初の行を読み込んだら簡単に作成できるような構造体を作成したいと思います。