2017-03-08 13 views
0

大きな構造データセットがあります。 構造内の各フィールドはXXXX * 4セルです。 XXXXはサイズが一定でないためです。最初の列はdatetimeです。 問題は、ベクトルの一部が '1/9/2015 00:00:00'の形式で、dd/MM/yyyy HH:mm:ss で、その他の部分は ' 1/9/2015 00:00 'はdd/MM/yyyy HH:mmです。 この変更は、各日付ベクトルで1回以上発生する可能性があります。 2つの形式の種類のdatetime関数を呼び出す方法はありますか?またはこれらの両方をカバーする一般的なもの?1つのベクトルに2つのdatetime書式設定文字列

私は各行をスキャンして修正する方が良い選択肢がないため、修正するのに時間がかかります。誰かが助けてくれることを祈って。

答えて

0

まあ、私はちょうどループのために作られており、この内部に書いた:それは働いた

s=fieldnames(DataSet); 

for i=1:length(fieldnames(DataSet)) 
    for j=2:(length(DataSet.(s{i}))) 

    if length(DataSet.(s{i}){j,1})>=17 
     DataSet.(s{i}){j,1}=DataSet.(s{i}){j,1}(1:(length(DataSet.(s{i}){j,1})-3)); 
    end 

end 
end 

を。実際にかなり速い、ちょうど7秒かかった(私はちょっと驚きました) 「dd/MM/yyyy HH:mm:ss」から「dd/MM/yyyy HH:mm」に変更することに注意してください。 しかし、私はあなたがほとんどのタイプを調整するためにそれを操作できると思います。

関連する問題