readmatrix 関数で、空の行を読み飛ばさずに読み込むことはできますか?
14 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2022 年 8 月 8 日
コメント済み: Hernia Baby
2022 年 8 月 8 日
以下のような、空の行を含む 1 列だけのテキストファイルがあります。
(data.txt)
このファイルを readmatrix 関数で読み込むと空の行が読み飛ばされてしまいます。
>> data = readmatrix('data.txt')
data =
1
2
3
4
5
6
空行も保持したままで読み込む方法があれば教えてください。
採用された回答
MathWorks Support Team
2022 年 8 月 8 日
今回のように数値データが一列しか定義されておらず、空行を含む場合、readmatrix 関数は空行が不要と判断し、空行を含まない形式で読み込む仕様となっています。
代替案として、readlines 関数で全体を string 配列として読み込み、その後、適宜数値配列に変換する方法が考えられます。
>> data = readlines('data.txt') % string 型で全体を読み込み
data =
9×1 の string 配列
"1"
"2"
""
"3"
"4"
""
"5"
"6"
""
>> data = double(data) % 数値に変換
data =
1
2
NaN
3
4
NaN
5
6
NaN
1 件のコメント
Hernia Baby
2022 年 8 月 8 日
参考として以下のような場合の対応も書いておきます
filename = 'data.txt';
data = fileread(filename);
data = regexp(data,'\n','split')'
data = double(string(data))
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で テキスト ファイル についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!