これは些細なことですが、MATLAB ドキュメントで答えを見つけることができません。~60,000 行と 38 列で構成される TSV ファイルがあります。最初の行には列の名前があり、最初の列はすべて英数字の文字列で構成されています。残りのエントリはすべて浮動小数点数です (ただし、多くの場合、値は明示的な小数点なしで 0 として表現されます)。
このデータを MATLAB に読み込むにはどうすればよいですか?
これは些細なことですが、MATLAB ドキュメントで答えを見つけることができません。~60,000 行と 38 列で構成される TSV ファイルがあります。最初の行には列の名前があり、最初の列はすべて英数字の文字列で構成されています。残りのエントリはすべて浮動小数点数です (ただし、多くの場合、値は明示的な小数点なしで 0 として表現されます)。
このデータを MATLAB に読み込むにはどうすればよいですか?
MATLABには、textscan
この目的のための関数が用意されています。2 番目の引数は、書式指定子です。あなたの場合、最初のフィールドは文字列なので を使用%s
し、残りのフィールドは float 値なので を使用します%f
。次の 37 回の繰り返しが必要になります%f
。この例よりも数回多くなります。
fid = fopen('yourfile.tsv');
C = textscan(fid, '%s %f %f %f %f %f %f', 'HeaderLines', 1);
fclose(fid);
HeaderLines
textscan
開始前にスキップする行数を指定します。ファイルの最初の行に列名が含まれているとおっしゃっていたので、1
行をスキップします。