複数のExcelファイルを連続して読み込みたい
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
複数のExcelファイルを連続して読み込みたいと考え,以下のプログラムを作成したのですが,
FileList = dir(['*.xlsx']); %同じフォルダ内のExcelファイルの一覧を作成
t = struct2table(FileList); %ファイルの一覧を構造体配列からテーブルに変換
name = t(:,1); %ファイル名のみの配列を作成
%readtableを繰り返し
for i = 1:size(str);
filename = name(i,1);
T = readtable(filename);
end
エラー: readtable (line 198)
File input は空でない文字ベクトルまたは string スカラーでなければなりません。
エラー: Untitled2 (line 7)
T = readtable(filename);
と表示されてしまいます.
cell配列のままであることが問題だと考え,for文の前に
t = cell2mat(name(:,1));
cha = char(name(:,1));
など試みましたが上手く行きません.
基本的な,配列タイプの理解が出来ていない事が原因だと分かっているのですが,どなたかご教示頂けないでしょうか.
どうかよろしくお願いします.
0 Commenti
Risposte (3)
Hiro Yoshino
il 21 Giu 2022
ds = tabularTextDatastore("*.xlsx",ReadSize="file");
こうすると
T = ds.read() % もしくはread(ds)
の度にファイルが1つずつテーブルデータとして出てきます。
ロードしたくないデータなどは事前に弾いておけるので、オプションを活用して高速に・スマートに出来るかと思います。
この場合、同じものは:
ds = tabularTextDatastore("*.xlsx",ReadSize="file");
for k=1:numel(ds.Files)
T = ds.read();
end
こんな感じです。
Hernia Baby
il 20 Giu 2022
以下の行、全角文字のスペースが入っています。
name = t(:,1); %ファイル名のみの配列を作成
以下に変更してください(Tabキーで文字を揃えました)
name = t(:,1); %ファイル名のみの配列を作成
0 Commenti
Vedere anche
Categorie
Scopri di più su スプレッドシート in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!