4

ASCII ファイルを MATLAB にインポートしてから読み取る必要があります。これらは私が試した機能です:

1)load(filename)機能しません:「ASCIIファイルの2行目の列数は前の行と同じでなければなりません」と表示されます

2) textscan(file, '-ascii')"空のセル配列: 1 行 0 列

3)importdata(file)戻り値は " data: [2x1 double], textdata: [4x1 cell], colheaders {'*LOS='}. georgesl が示唆するように実際には機能しますが、全文を一意の列として扱います: どうすればよいですか?ヘッダーをスキップしてから、データを 2 列に分割しますか?

ascii ファイルを dat ファイルに変換すればすべて問題ないことに気付きましたが、解決しなければならないファイルがたくさん (100 以上) あります。

私は何をすべきか?

ありがとう

4

3 に答える 3

2

を使用して、ファイル全体を文字列に読み取ることができますfileread

text = fileread( filename );

次に、使用して自分で解析できますregexp

于 2013-03-12T13:24:42.823 に答える
1

私はShaiが言及したアプローチが好きですが、通常はコマンドtextscanを使用します

data = textscan(fid, '%s', 'Delimiter', '\n')

文字列のセル配列になるようにします。行番号が気になる場合の処理​​が容易になります。

于 2013-03-12T17:27:22.363 に答える
0
[filename pathname] = uigetfile({'*.txt'}, 'Select File');
fullpathname = strcat (pathname, filename);
    A = importdata(fullpathname,'');
value =getfield(A, 'data');

楽しめ!

于 2016-04-26T17:40:24.230 に答える