4

以下のコードを使用すると。数値データは正しくエクスポートされますが、各列の最初の行にタイトル (ヘッダー) が必要な場合、最初の行は空白になります。解決策はありますか?

clc 
clear

filename = 'file.csv'; 
fileID = fopen(filename,'wt');
%**************************************************************************
%Sample data (note sample data are transposed row, i.e. columns) 

sample1 = [1,2,3,4]';
sample2 = [332.3, 275.8, 233.3, 275]';
sample3 = [360, 416.7, 500, 360]';
sample4= [-0.9, -0.9, -0.9, -0.9]';
sample5 = [ 300000, 0, 0, 0]';

A ={'text1','text2', 'text3', 'text4', 'text5'}; %'

%***************************************************************************
%write string to csv

[rows, columns] = size(A);
for index = 1:rows    
    fprintf(fileID, '%s,', A{index,1:end-1});
    fprintf(fileID, '%s\n', A{index,end});
end 

fclose(fileID);

%***************************************************************************
%write numerical data to csv

d = [sample1, sample2, sample3, sample4, sample5];

csvwrite(filename, d, 1);
4

1 に答える 1

5

数値データを書き込むときに文字列を消去しています。数値データまでスクリプトを実行します-正常に動作します。操作の順序を切り替えるだけです。最初に数値を書き込んでから、文字列を書き込んでください。

編集:文字列を書き込むと以前に書き込まれた数値データが上書きされるため、上記の解決策は機能しません。より簡単で直感的な解決策は置き換えることです

csvwrite(filename, d, 1);

dlmwrite(filename, d,'-append', 'delimiter', ',');

元の例では

于 2013-01-04T22:49:27.727 に答える