xlsreadをreadcellに置き換え時の空白データの処理
15 views (last 30 days)
Show older comments
xlsreadをreadcellに置き換えた時の空白処理について、教えていただきたいです。
[~,~,raw]= xlsread(xlsfile_name,sheet_name);
↓置き換え
raw= readcell(xlsfile_name, 'Shhet', sheet_name)
上記置き換えを実施したのですが、エクセルのデータに空白があると、
’missing’になってしまいます。
xlsreadと同様に'NaN'にするには、どのようにすれば良いですか?
2 Comments
Akira Agata
on 12 Nov 2020
readmatrix や readtable 関数であれば欠損部分は NaN になると思いますが、いかがでしょうか?(あるいは、何らかの理由で readcell 関数の使用をご希望でしょうか?)
Kotaro Shoji
on 5 Oct 2022
私も同じ問題に直面したのですが、cellfun関数を利用することで、readcellで読み取った際に"missing"となるすべてのセルをNaNに置き換えることができました。
具体的には以下の処理になります。
raw= readcell(xlsfile_name, 'Sheet', sheet_name);
raw(cellfun(@(x) all(ismissing(x)), raw)) = {NaN};
投稿からだいぶ時間が経過しているので、未だニーズがあるか分かりませんが、ご参考になれば幸いです。
Answers (3)
Akira Agata
on 12 Nov 2020
1行目に変数名、2行目以降にデータが入っているということであれば、readtable 関数が適しているかと思います。もし変数名が日本語などの場合は、以下のように 'PreserveVariableNames' オプションを true に設定することでうまく読み取れるかと思いますがいかがでしょうか?
T = readtable(xlsfile_name,'PreserveVariableNames',true)
0 Comments
See Also
Categories
Find more on スプレッドシート in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!