2016-08-17 12 views
0

スラッシュ('/')で区切られた.csvデータファイルをmatlabに読み込むにはどうすればよいですか?
たとえば、私は以下のような.csvファイルを持っていますが、値をNaNに置き換えずにmatlabに読み込む方法はありますか?スラッシュで区切られた.csvデータファイルをmatlabに読み取る方法

Apertures   
Offset s Shape Inner Dia U/V Ellipse Param a/b/c/d 
0  0.152/0.0415 0.076/0.02075/0.076/0.02075 
0  0.152/0.0387 0.076/0.01935/0.076/0.01935 
0  0.152/0.0387 0.076/0.01935/0.076/0.01935 
+0

あなたの第一および第三列は」doesnの

例(:整数、テキスト、フロートあなたのファイルを仮定3列があります)スラッシュ記号で区切られているが、代わりにタブで区切られているように見える。列間には一貫した区切り記号を使用するか、列区切りにスラッシュとタブの両方を使用しますか? –

答えて

0

あなたはdlmreadを使用し、区切り文字としてスプラッシュを指定することができます。

構文:M =関数dlmread(ファイル名、デリミタ)

例:

dlmread('myfile.txt', '/') 

、列名を持つヘッダ行を持っている場合、あなたが読み取りを開始したい行と列を指定することができます。

構文:M =関数dlmread(ファイル名、区切り文字、R1、C1)

dlmread('myfile.txt', '/', 1, 0) % skip first row 

EDIT:あなたのファイルのデータだけでなく、数字だけでなく、テキストが含まれている場合は、使用することができますtextscanはデータをセルアレイに読み込み、readtableはデータをテーブルに読み込みます。関数textscan

fileID = fopen('/path/to/your/file.csv'); 
Data = textscan(fileID,'%d %s %f'); 
fclose(fileID); 

または使用してテーブルを使用して

Data = readtable('/path/to/your/file.csv'); 
+0

ありがとうございますが、 'dlmread'を使用してエラーが発生しました。元のファイルは、テキスト、空白、スプラッシュで区切られたデータなどを含むいくつかの列を含む3996 * 17の行列です。 – walexwisdom

+0

ファイルにテキストが含まれている場合、コンテンツを配列に格納することはできません。あなたの質問を更新して参考にしてください。私は2つの異なるソリューションを提供するために私の答えを更新しました。 –

関連する問題