1

セル配列にインポートしようとしている文字列と整数を含むコンマ区切りの単一テキスト ファイルがあります。次に、同じ Resonance Freq に基づいて複数のファイルにエクスポートしたいと考えています。ファイル名の行にテキストを追加します

これは、インポートするテキスト ファイルのサンプルです: (ファイルはこれよりもかなり大きくなることに注意してください)

Resonance Freq,number,Filename,time,fs,Split-3675,Session Num
277.912902832031250,1,p000001,00:00:01,44100,3675,0
123.912902832031250,2,p000002,00:00:02,44100,3675,2
277.912902832031250,3,p000003,00:00:03,44100,3675,0
277.912902832031250,4,p000001,00:00:01,44100,3675,1
343.912902832031250,5,p000002,00:00:02,44100,3675,0
277.912902832031250,6,p000003,00:00:03,44100,3675,4

そして、これは私が作成したいエクスポートされたテキストファイルです(テキストファイル1)

277.912902832031250,1,/tmp/p000001.wav,00:00:01,44100,3675,0
277.912902832031250,3,/tmp/p000003.wav,00:00:03,44100,3675,0
277.912902832031250,4,/tmp/p000001.wav,00:00:01,44100,3675,1

そして、これは私が作成したいエクスポートされたテキストファイルです(テキストファイル2)

123.912902832031250,2,/tmp/p000002.wav,00:00:02,44100,3675,2

そして、これは私が作成したいエクスポートされたテキストファイルです(テキストファイル3)

343.912902832031250,5,/tmp/p000002.wavadded ,00:00:02,44100,3675,0

fscanf とコンマ区切りデータの使用に問題があります

fid = fopen('/tmp/freq_range_color_coded.txt');
m_s = fscanf(fid,'%f %f %s %s %f %f %f');
fclose(fid);

m_s(1,2) のようなセルにアクセスすると、フィールドではなく単一の文字が返されます。m_s(1,2) と入力すると、フィールド全体の例が返されるようにするにはどうすればよいですか

m_s(2,1) は私に 277.912902832031250 を与えるはずです

ありがとう

PS私はオクターブを使用していますが、テキストスキャンはそれと互換性がありません。

4

2 に答える 2

2

textscan でインポートするときにヘッダー行をスキップしてみてください:

fid = fopen('/tmp/freq_range_color_coded.txt');
m_s = textscan(fid,'%f %f %s %s %f %f %f','delimiter', ',', 'HeaderLines', 1);
fclose(fid);
于 2013-03-27T14:36:51.027 に答える