ホームタブのデータイ​ンポートをスクリプト​で呼び出したい

15 visualizzazioni (ultimi 30 giorni)
和也
和也 il 4 Ago 2022
Commentato: Kojiro Saito il 4 Ago 2022
下記のステップをスクリプトで実行したいと思います。
ホームタブにあるデータインポート機能をバックボーンで処理できる代替プロセスがあれば
そちらをご紹介頂ければと思います。
1.ホームタブにあるデータインポートをスクリプトで呼び出す(代替プロセスでも可)
2.データを全選択し選択データをインポート
3.インポートしたデータをワーク変数Tに格納する。
以上ご回答よろしくお願いします。

Risposta accettata

Kojiro Saito
Kojiro Saito il 4 Ago 2022
Modificato: Kojiro Saito il 4 Ago 2022
データのインポートははuiimportコマンドで起動できます。
ファイル名を指定して
uiimport('data.xlsx')
でファイルを取り込んだ状態にできます。
一度インポートして、「選択のインポート」から「関数の生成」をクリックします。
すると、デフォルトでimportfileという関数が生成されますので、それをimportfile.mというファイル名で保存します。
同じようなファイルを次回以降は
T = importfile('data.xlsx')
のようにデータのファイル名を変更して読み取れるようになります。
これが一番簡単だと思います。
インポートを経由せずにreadtablereadmatrixなどの関数を直接使うこともできます。
T = readtable('data.xlsx');
ファイルに応じてヘッダ行が何行かとか、カラム毎にどのデータ型で読み取るのかなどをdetectImportOpitonsを使ってオプション指定する必要がありますが、慣れてくるとこのほうが楽です。
  2 Commenti
和也
和也 il 4 Ago 2022
ご回答ありがとうございます。
readtable(filename)のfilenameの箇所はpath+filenameを指定してフルパス状態にしたら
エラーが出てきますが良い対策方法はないでしょうか?
*.mフォルダとは別にあるファイルをインポート処理したいと考えてます。
Kojiro Saito
Kojiro Saito il 4 Ago 2022
大かっこ[]で文字列を結合するか、fullfileでパスを結合することで実現できます。
T = readtable(fullfile(path, filename));
% または
T = readtable([path '\' file]) % Windowsの場合
T = readtable([path '/' file]) % MacかLinuxの場合
% または
T = readtable([path filesep file]) % Windows、mac、LinuxでもOK

Accedi per commentare.

Più risposte (1)

Hernia Baby
Hernia Baby il 4 Ago 2022
uiopenから関数にして読み込んでもいいですが、ひとつ例を書いておきます。
Files = dir("sample*.csv");
numfiles = length(Files);
for ii = 1:numfiles
zmat{ii,1} = readmatrix(sprintf('sample%i.csv', ii));
end
zmatにすべて格納しています
zmat
zmat = 4×1 cell array
{51×2 double} {51×2 double} {51×2 double} {51×2 double}
中身を取り出します
zmat{1,1}
ans = 51×2
0 0 0.0200 0.1253 0.0400 0.2487 0.0600 0.3681 0.0800 0.4818 0.1000 0.5878 0.1200 0.6845 0.1400 0.7705 0.1600 0.8443 0.1800 0.9048
今回はスクリプトとファイルが同じ場所にある前提で書いています。
任意の場所をUIで選びたい場合はuigetdir等をご使用ください。
その他気になる点ありましたらコメントにてお知らせください。
---------------------------------------------------------

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!