テキストファイルを読み込む際、列数を指定せず、全ての列を文字列で読み込むことはできますか?
19 views (last 30 days)
Show older comments
MathWorks Support Team
on 4 Oct 2018
Edited: MathWorks Support Team
on 8 May 2024
カンマ区切りのテキストファイルがあります。
各列全てを文字列として読み込みたいため、フォーマットの指定を '%s%s...' のようにすれば読み込めますが、列数が多く、かつ場合によって列数がファイル毎に一定でないため、フォーマットを手入力で指定するのは面倒です。
列数を指定することなく、かつ、列のデータ型を指定する方法として、よい方法があれば教えてください。
Accepted Answer
MathWorks Support Team
on 8 May 2024
Edited: MathWorks Support Team
on 8 May 2024
readtable 関数を使って読み込む方法では、事前に detectImportOptions 関数を使って、読み込むためのオプションを自動生成し、それを元に読み込むことができ、便利です。
一度作成されたオプションは、setvartype 関数を使って、読み込み時のデータ型をカスタマイズすることもできます。
以下は、その例です。
% ここでは、mydat.csv はファイル名です
opts = detectImportOptions('mydat.csv'); % インポートオプションの作成
opts = setvartype(opts,'char'); % 全ての列を文字列に変換
T = readtable('mydat.csv',opts); % オプションを使ったファイルの読み込み
以下の URL からも関連ドキュメンテーションをご覧いただけます。
・テーブルのインポートオプションの定義
0 Comments
More Answers (0)
See Also
Categories
Find more on テキスト ファイル in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!