2017-08-19 12 views
0

csvファイルからデータをロードしようとしています。私はtextscanを使用するように言われましたが、csvreadを使ってファイルをロードしようとすると、 "undefined defined line 1 column 16"というエラーが出ます。 filereadtextreadのような類似のメソッドを使用しようとすると、同じエラーが発生しますが、列の位置が異なります。オクターブ文字列を含む入力ファイルを要求する

ここにはcsvファイルへのリンクがあります https://drive.google.com/open?id=0ByD1GZqyS54ZV3ZoVFltYzZ6eE0 ここにはpicture of the fileです。

E、F、G、K列のデータが必要なため、他の不要なコンテンツを削除する方が簡単であることがわかっており、dlmreadまたはcsvreadをこれらの数値に使用できます。それでも、これはそれほど難しいものではないようです。 MATLABやOctaveを使ってファイルから文字列データを読み込む方法を理解できますか?

アップデート08/20/17(UTC + 7)は、特に情報の中から答えを

おかげで、(これはユーザーIDに右である?)

私は、問題はおそらく持っている最初の行によって引き起こさ考えます26個のセルともう片方の4個は20個しかないので、私は列Kの後にデータを取り除き、11個の列を持って実行することにしました:

fid = fopen( 'tesdata.dat'); %iはcsvのデータをdatファイルに変更します

c = textscan(fid、 '%f%s%s%s%f%f%d8%s%s%s%s');

fclose(fid);

これは私のケースではうまくいきますが、問題はおそらく異なるカラムサイズだと思います。さて、私はあなたがこれを使用することができ、これはcsvread

+0

textscanでコードを表示してください。これまでに行ったことは – Andy

答えて

0

を必要とするものである。ここですtextscan各列を文字列として取得するソリューション。

fname = 'katalogisc.csv'; % your file 
fid = fopen(fname,'r');  

numCols = 'Z'-'A'+1; % i.e. 26 columns in this case 
scanStr = repmat('%s',1, numCols); % interpret each column as a string 

columnsOfStrings = textscan(fid, scanStr,'delimiter',','); % split strings by comma (,) 

fclose(fid); 

私はそれが動作するときxlsreadソリューションを好きですが、私のマシン上で、この場合には、エラー「ファイルは形式が認識されません」を取得します。

1

[NUM、TXT、生] = xlsreadを(ファイル名)

でCSVファイルであれば働くことができると思います。 {:5}、生の生

生に存在する使用データ{:、6}、生{:、7}、生{:、11}

あなたは

+0

です。これはxlsやxlsxではなくCSVです。 xlsreadを使用する必要はありませんが、ここではioパッケージを使用します。 – Andy

関連する問題