テキストと数値が混在​するcsvファイルか​らのデータ読み込み

17 visualizaciones (últimos 30 días)
Ryo Takakuwa
Ryo Takakuwa el 19 de Mzo. de 2020
Comentada: Kenta el 19 de Mzo. de 2020
最近MATLABを勉強し始めたばかりなので、初歩的な質問化もしれませんが、
教えて頂けますでしょうか。
添付したcsvファイルからのデータの読み込み方について質問です。
4行のテキストと251行の数値データが繰り返されています。
この数値データを読み込むために以下のようなコードを作成しました。
データを読み込んだあとは、251行毎の数値データを繰り返し処理する予定です。
filename='test2.csv';
B=readtable(filename);
S=size(B); %ファイルの行数取得
delimiterIn = ','; %区切りはカンマ
i=0;
while 1
i=i+1;
headerlinesIn = 4*i+251*(i-1); %読み飛ばし行数(ヘッダー)の指定
%ファイルの最終行を超えたらループ終了
if headerlinesIn>S
break
end
A = importdata(filename,delimiterIn,headerlinesIn); %データ読み込み
%コンプライアンス算出 polyfit
end
上記コード作成後に、サイクルデータ(添付ファイルのB2セルなど)も数値として取得する必要が出てきたのですが、
上記コードではヘッダーとして読み飛ばされてしまいます。
サイクルデータも数値として取得するためにはどうすればよいでしょうか。
  2 comentarios
Kenta
Kenta el 19 de Mzo. de 2020
T=readtable('test2.csv');
こちらでどうでしょうか。
Ryo Takakuwa
Ryo Takakuwa el 19 de Mzo. de 2020
T=readtable('test2.csv');
では、すべての要素がテキストとして読み込まれてしまいます。

Iniciar sesión para comentar.

Respuesta aceptada

Kenta
Kenta el 19 de Mzo. de 2020
clear;clc
T=readtable('test2.csv');
cycle=str2double(T{1,2});
time=str2double(T.Var2(4:end));
pw=str2double(T.Var3(4:end));
strain=str2double(T.Var4(4:end));
コメントの返信、ありがとうございました。このようにstr2doubleで数字に変換すれば、それぞれの変数が数字として格納されます。
  2 comentarios
Ryo Takakuwa
Ryo Takakuwa el 19 de Mzo. de 2020
早速のご返信ありがとうございます。
str2doubleの関数を知りませんでしたので、大変参考になりました。
Kenta
Kenta el 19 de Mzo. de 2020
はい、○○2△△という関数はたくさんあるので、他の場面でもそれぞれの関数が役立つと思います。解決し、よかったです

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Text Data Preparation en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!