テキスト ファイルからの日付と時刻のインポート
書式設定済みの日付と時刻 ('01/01/01'
や '12:30:45'
など) を列方向の表形式データから 3 つの方法でインポートします。
インポート ツール— 日付と時刻を対話的に選択してインポートします。
関数
readtable
— 日付と時刻を含む変数を自動的に検出して、table にインポートします。インポート オプション — 日付と時刻の変数のインポートをより詳細に制御するために、関数
readtable
を関数detectImportOptions
とともに使用します。たとえば、FillValue
やDatetimeFormat
などのプロパティを指定できます。
この例では、これらの各メソッドを使用して、テキスト ファイルから日付と時刻をインポートする方法を説明します。
インポート ツール
インポートツールを使用して outages.csv
ファイルを開きます。各列のドロップダウン メニューを使用して、日付と時刻の形式を指定します。あらかじめ定義されたデータ形式から選択するか、カスタム形式を入力します。OutageTime
列をインポートするために、カスタム形式 yyyy-MM-dd HH:mm
を指定します。次に、[選択のインポート] ボタンをクリックして、ワークスペースにデータをインポートします。
関数 readtable
関数 readtable
を使用して、変数 OutageTime
の 10
行を表示します。readtable
によって日付と時刻の変数と形式が自動的に検出されます。
filename = 'outages.csv';
T = readtable(filename);
T.OutageTime(1:10)
ans = 10x1 datetime
2002-02-01 12:18
2003-01-23 00:49
2003-02-07 21:15
2004-04-06 05:44
2002-03-16 06:18
2003-06-18 02:49
2004-06-20 14:39
2002-06-06 19:28
2003-07-16 16:23
2004-09-27 11:09
インポート オプション
インポート オプション オブジェクトを使用して、日付と時刻の変数のインポートをより詳細に制御します。たとえば、日付と時刻の表示形式を変更したり、欠損している日付の埋め込み値を指定したりします。
outages.csv
ファイルのインポート オプション オブジェクトを作成し、変数 RestorationTime
の変数インポート オプションを表示します。関数 detectImportOptions
は、変数のデータ型を自動的に検出します。
opts = detectImportOptions(filename);
getvaropts(opts,'RestorationTime')
ans = DatetimeVariableImportOptions with properties: Variable Properties: Name: 'RestorationTime' Type: 'datetime' FillValue: NaT TreatAsMissing: {} QuoteRule: 'remove' Prefixes: {} Suffixes: {} EmptyFieldRule: 'missing' Datetime Options: DatetimeFormat: 'preserveinput' DatetimeLocale: 'en_US' InputFormat: '' TimeZone: ''
データをインポートし、変数 RestorationTime
の最初の 10
行を表示します。2 番目の行には NaT
が含まれ、日付と時刻の値が欠けていることが示されます。
T = readtable(filename,opts); T.RestorationTime(1:10)
ans = 10x1 datetime
2002-02-07 16:50
NaT
2003-02-17 08:14
2004-04-06 06:10
2002-03-18 23:23
2003-06-18 10:54
2004-06-20 19:16
2002-06-07 00:51
2003-07-17 01:12
2004-09-27 16:37
日付と時刻の別の表示形式を使用するには、DatetimeFormat
プロパティを更新したうえで、FillValue
プロパティを使用して欠損値を現在の日付と時刻に置き換えます。更新された変数オプションを表示します。
opts = setvaropts(opts,'RestorationTime', ... 'DatetimeFormat','MMMM d, yyyy HH:mm:ss Z',... 'FillValue','now'); getvaropts(opts,'RestorationTime')
ans = DatetimeVariableImportOptions with properties: Variable Properties: Name: 'RestorationTime' Type: 'datetime' FillValue: July 20, 2024 15:28:00 * TreatAsMissing: {} QuoteRule: 'remove' Prefixes: {} Suffixes: {} EmptyFieldRule: 'missing' Datetime Options: DatetimeFormat: 'MMMM d, yyyy HH:mm:ss Z' DatetimeLocale: 'en_US' InputFormat: '' TimeZone: ''
更新されたインポート オプションを使用してデータを読み取り、変数の最初の 10
行を表示します。
T = readtable(filename,opts); T.RestorationTime(1:10)
ans = 10x1 datetime
February 7, 2002 16:50:00 *
July 20, 2024 15:28:00 *
February 17, 2003 08:14:00 *
April 6, 2004 06:10:00 *
March 18, 2002 23:23:00 *
June 18, 2003 10:54:00 *
June 20, 2004 19:16:00 *
June 7, 2002 00:51:00 *
July 17, 2003 01:12:00 *
September 27, 2004 16:37:00 *
datetime
変数のオプションの詳細については、setvaropts
のリファレンス ページを参照してください。
参考
インポート ツール | readtable
| detectImportOptions
| setvaropts
| readmatrix
| readcell
| readvars
| readtimetable