dポイントプレゼントキャンペーン実施中!

マトラボで、文字列を含む、csvファイルを読み込み、データをプログラムに使用したいのですが、どうしたらいいですか?
csvread('filename')ではできませんでした。
どなたか、ご教授くださいませ。

A 回答 (3件)

Excelで読み込んで、xlsファイルにセーブして、


xlsreadでmatlabに読み込むとか。
http://dl.cybernet.co.jp/matlab/support/manual/r …
    • good
    • 0
この回答へのお礼

この度は、ご丁寧にご回答を頂戴いたしまして、誠にありがとうございました!!!

お礼日時:2007/07/25 22:08

#2です。



先ほどの手順(4)の部分で、読み込んだのが数値しかないと分かっている行に対してなら、

str = strrep(line, ',', ' ')
data = sscanf(str, '%f')

と書いた方がシンプルで良いかもしれませんね。
    • good
    • 0
この回答へのお礼

何度もご回答をいただき、本当にありがとうございます。

お礼日時:2007/07/25 22:11

(1)fid = fopen(path, 'r')でファイルを開く


(2)line = fgets(fid)でファイルから1行取得
(3)index = findstr(line, ',')でカンマ位置を取得
(4)カンマ位置でlineを分割
 文字列はそのまま取得、数値はstr2num()でキャストしてから取得
 例)カンマがN-1個ある場合
  data1 = line(1:(index(1) - 1))
  data2 = line((index(1) + 1):(index(2) - 1))
  data3 = line((index(2) + 1):(index(3) - 1))
         :
  dataN = line((index(N-1) + 1):end)
(5)手順(2)~(4)をEOFまで繰り返す
(6)fclose(fid)でファイルを閉じる

このような手順で大丈夫だと思います。
ただし、ファイル構造が分かっていること、区切り文字以外でカンマが使用されていないことが条件です。
まぁ、構造が分からないファイルからデータを読み込むことなんてできませんが。

参考URL:http://infoshako.sk.tsukuba.ac.jp/ShakoDoc/MATLA …
    • good
    • 0
この回答へのお礼

こちらからのご連絡が遅くなりまして、大変失礼いたしました。
今回は、ご丁寧なご回答、誠にありがとうございました。

お礼日時:2007/07/25 22:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!