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