-1

Matlab で CSV ファイルを読み取る必要があります。そのファイルはほとんどが数値であり (最初の列を除き、実際には 178 列あります)、 NA で示される欠損値があります。たとえば、次の 2 つの行があります。

2005 年 3 月 24 日、2.145202、2.192237、2.238725、2.284657、2.330028、2.374829、2.419056、...

2005 年 3 月 25 日 ,NA ,NA ,NA ,NA ,NA ,NA ,NA , ...

これらの NA を NaN として読み取り、全体を行列に変換したいのですが、適切に実行できません。

ちなみに、日付 (最初の列) は必要ありません。

これが私が試したことです:

filename = 'foo.csv';
fid = fopen(filename,'rt');
[data]=textscan(fid, '%s %f' , 178,'delimiter',',',...
                                   'TreatAsEmpty','NA',...
                                   'EmptyValue', NaN);
4

2 に答える 2

1

で日付をスキップできますが、178と区切り文字%*sを指定する必要があります。%f

textscan(fid, ['%*s' repmat('%f',1,178)],'Delimiter',',','CollectOutput',true)
于 2013-06-26T20:01:03.317 に答える