私の生のCSVファイルは最初の写真のように見えます。そして、Matlabを使用して2番目の写真の形式で読み取ります。同じ種類のCSVファイルが1000個以上あるので、コピーして貼り付けると苦痛になります。これどうやってするの?例はありますか?
生データ:
出力データ:
私の生のCSVファイルは最初の写真のように見えます。そして、Matlabを使用して2番目の写真の形式で読み取ります。同じ種類のCSVファイルが1000個以上あるので、コピーして貼り付けると苦痛になります。これどうやってするの?例はありますか?
生データ:
出力データ:
まず、.csv ファイルの形式は非常に単純であることに注意してください。上記のファイルは、実際には各行に次のテキストを含むプレーン テキスト ファイルです。
id,A001
height
a1,a2,a3
3,4,5
3,4,5
6,7,5
weight
a1,a2,a3
4,4,5
5,4,6
i6,7,5
そのため、Matlab で独自のパーサーを作成することはそれほど難しくありません。次のようなコマンドを使用したい
fid = fopen('filename.csv','r');
L = fgetl(fid); % get a text line from the file
commas = find(L==','); % find where the commas are in the line
n1 = str2num(L(1:commas(1)-1); % convert the first comma-delimited number on line L
fidout - fopen('myfile.csv','w');
Lout = [ L(commas(2)+1:commas(3)-1) ', a1, a1'];
fwrite(fidout,Lout); % write a line out to the output file
fclose all; % close all open files.
最初は、さまざまな値をさまざまな変数に読み取ってから、それらを出力ファイルに書き出す方法で書き出すように配置するのが遅いように見えます。texscan.m
しかし、ひとたび動き始めると、かなり速く進み、ファイルの内容をかなりよく理解できるようになるでしょうcsvwrite.m
。
幸運を!