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

조회 수: 6 (최근 30일)
丈太郎 森川
丈太郎 森川 2021년 5월 26일
댓글: Atsushi Ueno 2021년 5월 26일
エクセル名「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
Atsushi Ueno
Atsushi Ueno 2021년 5월 26일
readtable関数の出力型はtableであり「table自体の配列」を作ろうとすると下記エラーが出ます。
線形インデックス付け (添字 1 ) または多次元インデックス付け (添字 3 つ以上) を使用した
テーブルへの添字付けはできません。行の添字と変数の添字を使用してください。
背景が分からないので何とも言えませんが、他の手段として以下が考えられます。
①for文の中でシート1枚分の処理を行い、処理済シートは次のループで上書きする
②spreadsheetDatastore関数を使い複数のワークシートを読み取る
 出力がオブジェクト(matlab.io.datastore.SpreadsheetDatastore)になります
③readtable関数の代わりにreadmatrix関数やreadcell関数を使う

댓글을 달려면 로그인하십시오.

답변 (0개)

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!