Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

データのインポート

ライブ エディターでファイルからデータをインポート

R2023a 以降

説明

[データのインポート] タスクでは、MAT、テキスト、スプレッドシート、メディア (イメージ、オーディオ、ビデオ)、および科学データ (netCDF) ファイルを対話的にインポートできます。このタスクは、ライブ スクリプト用の MATLAB® コードを自動生成します。

Import Data task in the Live Editor

タスクを開く

[データのインポート] タスクを MATLAB エディターでライブ スクリプトに追加するには、以下を行います。

  • [ライブ エディター] タブで、[タスク]、[データのインポート] を選択します。

  • スクリプトのコード ブロック内に、importreadload などの関連キーワードを入力します。コマンドの補完候補から Import Data を選択します。

すべて展開する

イメージ ファイルからデータを対話的にインポートします。

ライブ エディターで [データのインポート] タスクを開きます。ソース ファイルを選択し、[結果の表示] セクションで [インポートされたデータ] オプションを選択してイメージを表示します。タスクにより、イメージ データがワークスペース内の変数に保存されます。変数名はソース ファイルの名前に基づきます。

Import Data task

このタスクにより生成されるコードを確認するには、タスク パラメーター エリアの下部にある [コードの表示] をクリックしてタスクの表示を展開します。

% Import image
cloudCombined = imread("<path_to_file>\cloudCombined.jpg");

% Display results
imshow(cloudCombined);
title("Image Data From cloudCombined.jpg");

Imported image data showing clouds

再利用可能な MATLAB コードを対話的に生成し、Microsoft® Excel® スプレッドシートをワークスペースにインポートします。スプレッドシートには、マサチューセッツ州ボストンの 2021 年 1 月の気象データが含まれています。生成されたコードをテンプレートとして使用して、2021 年の 12 か月すべてのスプレッドシートをプログラムによってインポートします。

ライブ エディターで [データのインポート] タスクを開きます。[ファイル] フィールドに、最初のスプレッドシート 01_weather.xlsx のファイル名を入力します。

Import Data task

このタスクにより生成されるコードを確認するには、タスク パラメーター エリアの下部にある [コードの表示] をクリックしてタスクの表示を展開します。

% Set up the Import Options and import the data
opts = spreadsheetImportOptions("NumVariables", 12);

% Specify sheet and range
opts.Sheet = "3179575";
opts.DataRange = "A2:L32";

% Specify column names and types
opts.VariableNames = ["STATION", "NAME", "LATITUDE", "LONGITUDE", "ELEVATION", "DATE", "AWND", "PRCP", "SNOW", "TAVG", "TMAX", "TMIN"];
opts.VariableTypes = ["categorical", "categorical", "double", "double", "double", "datetime", "double", "double", "double", "double", "double", "double"];

% Specify variable properties
opts = setvaropts(opts, ["STATION", "NAME"], "EmptyFieldRule", "auto");

% Import the data
x01_weather = readtable("<path_to_file>\01_weather.xlsx", opts, "UseExcel", false);

% Clear temporary variables
clear opts

生成されたコードはステップに分割され、コメントを付けてドキュメント化されます。以下の変更を行い、12 か月すべてのスプレッドシートをインポートするプロセスを自動化します。

  1. 月ごとの各スプレッドシートからデータを追加できる yearWeather table を作成します。

  2. 各月を表す string を含む namePrefixes ベクトルを作成します。

  3. namePrefixes を使用してファイル名のベクトルを作成します。12 個のファイル名の規則的なパターンを使用します。

  4. 月ごとの日数に基づくデータ範囲のベクトルを作成します。生成されたコードでは、範囲は列 A ~ L、行 2 ~ 32 (1 月の日数より 1 多い) にわたります。

  5. for ループと作成した変数を使用して、すべてのファイルをインポートして yearWeather に追加します。

% Changes #1 and #2: Create variables
yearWeather = table();
namePrefixes = ["01" "02" "03" "04" "05" "06" "07" "08" "09" ...
                "10" "11" "12"];

% Set up the Import Options and sheet
opts = spreadsheetImportOptions("NumVariables", 12);
opts.Sheet = "3179575";

% Specify column names and types
opts.VariableNames = ["STATION", "NAME", "LATITUDE", "LONGITUDE", ...
                      "ELEVATION", "DATE", "AWND", "PRCP", "SNOW", ...
                      "TAVG", "TMAX", "TMIN"];
opts.VariableTypes = ["categorical", "categorical", "double", ...
                      "double", "double", "datetime", "double", ...
                      "double", "double", "double", "double", "double"];

% Specify variable properties
opts = setvaropts(opts, ["STATION", "NAME"], "EmptyFieldRule", "auto");

% Changes #3 and #4: Create vectors of filenames and data ranges
fileNames = namePrefixes + "_weather.xlsx";
dataRanges = "A2:L"+string(day(datetime(2021,1,31)+calmonths(0:11))+1);

% Change #5: Import all files and append them in yearWeather
for i = 1:length(namePrefixes)
    fileName = fileNames(i);
    opts.DataRange = dataRanges(i);

    monthWeather = readtable(fileName, opts, "UseExcel", false);
    yearWeather = [yearWeather; monthWeather];
end

% Clear temporary variables
clear opts

インポートしたデータを使用して、ボストンにおける 2021 年の毎日の低温と高温をプロットします。

plot(yearWeather.DATE,[yearWeather.TMIN yearWeather.TMAX])
hold on
xlabel("Date")
ylabel("Temperature (℉)")
legend("Low Temperature","High Temperature",location="Northwest")

Graph of temperatures

関連する例

パラメーター

すべて展開する

ソースの選択

パスを入力するか、[参照] ボタンを使用できます。インポートするように選択したファイルのタイプにより、そのタスクで選択できる他のパラメーターが決まります。

スプレッドシート ファイルをインポートする場合、インポートするシートを選択します。

インポートする変数のオプションの指定

テキスト ファイルまたはスプレッドシートをインポートする場合、インポート データの MATLAB データ型を選択できます。

  • table — データは MATLAB table としてインポートされます。データの各列が table の変数で、データの各行が table の行です。table の変数名はデータの列ヘッダーから取得されます。

  • timetable — データは MATLAB timetable としてインポートされます。データの 1 列目の型が datetime または duration でない場合は、duration 値の新しい 1 列目が 0 秒から始まる table の最初に追加され、データの行ごとに 1 秒ずつインクリメントします。

  • 列ベクトル — データは MATLAB 列ベクトルとしてインポートされます。データの各列が列ベクトルになり、各列ベクトル変数の名前はデータの対応する列のヘッダーから取得されます。

  • 数値配列 — データは数値行列としてインポートされます。

  • string 配列 — データは string 行列としてインポートされます。

  • cell 配列 — データは cell 行列としてインポートされます。

このオプションを選択すると、タスクは既定で opts という名前の変数にインポート オプションを保持します。このオプションを選択しない場合、変数 opts はインポートの完了後にクリアされます。このパラメーターは、テキスト ファイルまたはスプレッドシートをインポートする場合に使用できます。

結果の表示

このオプションを選択すると、インポートされたデータがライブ エディター タスクの出力として表示されます。

このオプションを選択すると、インポート オプションがライブ エディター タスクの出力として表示されます。このオプションを選択しない場合、オプションは表示されません。このパラメーターは、テキスト ファイルまたはスプレッドシートをインポートする場合に使用できます。

バージョン履歴

R2023a で導入

すべて展開する