2

以前はdatestrに転送732154.873773148して26-Jul-2004 20:58:14いたのですが、.csvファイルに出力すると配列になってしまうの1*20ですが… 配列に格納したいのですが1*1、どうすればいいですか?

26-Jul-2004 20:58:14また、転送する簡単な方法はあり2004/07/26 20:58:14ますか?

ありがとう:)

data = csvread('4.csv');
date = data(:, 1);
loc = data(:, 2);
record_num = size(loc, 1);

result = zeros(record_num, 2);
new_date = datestr(date);
csvwrite('4_res.txt', new_date);

私が欲しいのは 2004/07/26 20:58:14

しかし、それは 2,0,0,4,/,0,7,/,2,6, ,2,0,:,5,8,:,1,4

4

2 に答える 2

3

あなたの問題は、Matlab の場合、文字列 IS 文字配列であるということです。あなたが発見しcsvwriteたように、「文字列」を整数の配列(文字列内の文字のASCIIコード)として書き込みます。csvwrite違う行動を強制する方法はないと思います。

fprintfこのように を使用する必要があると思います

fprintf(fid,datestr('26-Jul-2004 20:58:14'))

必要な出力を取得します。ここで、fidはもちろん、fopen書き込みアクセスを有効にして ( を使用して) 開いたファイルのハンドルです。日付文字列を必要な形式で書き込むには、次を試してください。

fprintf(fid,datestr('26-Jul-2004 20:58:14', 'yyyy/mm/dd HH:MM:SS'))
于 2012-05-16T14:12:39.870 に答える