ファイルを開き、 を使用して最初の行を読み取り、fgets
を使用regexp
してファイルの形式をテストし、ファイルが目的の形式である場合は、 を使用fscanf
してファイル全体を読み取ります。
fid = fopen('E:\Tick Data\Data Output\Differentformatfiles\AUU01.csv','rt');
% reads first line of file but seems to be deleting the line:
str = fgets(fid);
% test for pattern mm/dd/yyyy
if(regexp(str, '\d\d/\d\d/\d\d\d\d'))
c = fscanf(fid, '%d/%d/%d,%d:%d:%d,%f,%d,%*c');
残念ながら、ファイルの内容が次のようになっている場合:
20010701,08:29:30.000,95.00,29,E
20010702,08:29:30.000,95.00,68,E
20010703,08:29:30.000,95.00,5,E
20010704,08:29:30.000,95.00,40,E
20010705,08:29:30.000,95.00,72,E
str
に等しくなります20010701,08:29:30.000,95.00,29,E
がc
、最後の 4 行のみに等しくなります。
20010702,08:29:30.000,95.00,68,E
20010703,08:29:30.000,95.00,5,E
20010704,08:29:30.000,95.00,40,E
20010705,08:29:30.000,95.00,72,E
fgets
最初の行を削除しないようにする方法はありますか? または私が使用すべき別の機能?