ループでエクセルのシ​ート数を呼び出し、シ​ート名を連番で定義す​る方法

6 Ansichten (letzte 30 Tage)
丈太郎 森川
丈太郎 森川 am 26 Mai 2021
Kommentiert: Atsushi Ueno am 26 Mai 2021
エクセル名「DATA.xlsx」の中のシート1~5を抜き出し、それぞれのシートの変数をDATA1からDATE5で定義したいです。
n=5
for n=1:n
DATA(C)=readtable("DATA.xlsx","Sheet",C)
DATA1=Sheet1のtable
DATA5=Sheet5のtable
検索して変数のループ定義がありましたが、どうもうまくいきませんでした。
よろしくお願いします。
  1 Kommentar
Atsushi Ueno
Atsushi Ueno am 26 Mai 2021
readtable関数の出力型はtableであり「table自体の配列」を作ろうとすると下記エラーが出ます。
線形インデックス付け (添字 1 ) または多次元インデックス付け (添字 3 つ以上) を使用した
テーブルへの添字付けはできません。行の添字と変数の添字を使用してください。
背景が分からないので何とも言えませんが、他の手段として以下が考えられます。
①for文の中でシート1枚分の処理を行い、処理済シートは次のループで上書きする
②spreadsheetDatastore関数を使い複数のワークシートを読み取る
 出力がオブジェクト(matlab.io.datastore.SpreadsheetDatastore)になります
③readtable関数の代わりにreadmatrix関数やreadcell関数を使う

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!