Импорт дат и времен из текстовых файлов

Импортируйте форматированные даты и время (такие как '01/01/01' или '12:30:45') из табличных данных, ориентированных на столбцы тремя способами.

  • Import Tool — В интерактивном режиме выбирает и импортирует даты и времена.

  • Функция readtable — Автоматически обнаруживает переменные с датами и временами и импортирует их в таблицу.

  • Настройки импорта — Use readtable с detectImportOptions функционируют для большего количества управления импортом переменных даты и времени. Например, можно задать свойства, такие как FillValue и DatetimeFormat.

Этот пример показывает вам, как импортировать даты и времена из текстовых файлов с помощью каждого из этих методов.

Инструмент для импорта

Откройте файл outages.csv с помощью Import Tool. Задайте форматы дат и времен с помощью выпадающего меню для каждого столбца. Можно выбрать из предопределенного формата даты или ввести пользовательский формат. Чтобы импортировать столбец OutageTime, задайте пользовательский формат yyyy-MM-dd HH:mm. Затем нажмите Import Selection button, чтобы импортировать данные в рабочую область.

readtable Функция

Используйте функцию readtable и отобразите строки 10 переменной OutageTime. readtable автоматически обнаруживает переменные времени даты и форматы.

filename = 'outages.csv';
T = readtable(filename);
T.OutageTime(1:10)
ans = 10x1 datetime array
   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

Настройки импорта

Используйте объект настроек импорта для большего количества управления импортом переменных даты и времени. Например, измените формат отображения datetime или задайте значение заливки для недостающих дат.

Создайте объект настроек импорта для файла 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: 'default'
    DatetimeLocale: 'en_US'
       InputFormat: ''
          TimeZone: ''

Импортируйте данные и отобразите первые строки 10 переменной RestorationTime. Вторая строка содержит NaT, указывая на недостающее значение даты и времени.

T = readtable(filename,opts);
T.RestorationTime(1:10)   
ans = 10x1 datetime array
   07-Feb-2002 16:50:00
   NaT                 
   17-Feb-2003 08:14:00
   06-Apr-2004 06:10:00
   18-Mar-2002 23:23:00
   18-Jun-2003 10:54:00
   20-Jun-2004 19:16:00
   07-Jun-2002 00:51:00
   17-Jul-2003 01:12:00
   27-Sep-2004 16:37:00

Чтобы использовать различный формат отображения datetime, обновите свойство 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: 21-Feb-2019 20:53:27
    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 array
   February 7, 2002 16:50:00 *  
   February 21, 2019 20:53:27 * 
   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.

Смотрите также

| | | | | | |

Похожие темы