テキストファイルを読​み込む際、列数を指定​せず、全ての列を文字​列で読み込むことはで​きますか?

19 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 4 Oct 2018
カンマ区切りのテキストファイルがあります。
各列全てを文字列として読み込みたいため、フォーマットの指定を '%s%s...' のようにすれば読み込めますが、列数が多く、かつ場合によって列数がファイル毎に一定でないため、フォーマットを手入力で指定するのは面倒です。
列数を指定することなく、かつ、列のデータ型を指定する方法として、よい方法があれば教えてください。

Accepted Answer

MathWorks Support Team
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 からも関連ドキュメンテーションをご覧いただけます。
・テーブルのインポートオプションの定義

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!