writetimetable

Запись timetable в файл

Синтаксис

writetimetable(TT)
writetimetable(TT,filename)
writetimetable(___,Name,Value)

Описание

пример

writetimetable(TT) пишет расписание TT в файл разделенного текста запятой. Имя файла является именем переменной рабочей области расписания, добавленного с дополнительным .txt. Если writetimetable не может создать имя файла из входного имени расписания, то это пишет в файл timetable.txt.

Каждый столбец каждой переменной в TT становится столбцом в выходном файле. Имена переменных TT становятся заголовками столбцов в первой строке файла. Функция writetimetable перезаписывает любой существующий файл.

пример

writetimetable(TT,filename) записи к файлу с именем и расширением заданы filename.

writetimetable определяет формат файла на основе заданного расширения. Расширение должно быть одним из следующего:

  • .txt, .dat или .csv для файлов разделенного текста

  • .xls, .xlsm или .xlsx для файлов электронной таблицы Excel®

  • .xlsb для файлов электронной таблицы Excel поддержан в системах с Excel для Windows®

пример

writetimetable(___,Name,Value) дополнительные опции использования, заданные одним или несколькими аргументами пары Name,Value и, могут включать любой из входных параметров в предыдущих синтаксисах.

Например, можно задать, записать ли имена переменных как заголовки столбцов в выходном файле.

Примеры

свернуть все

Создайте расписание, запишите его в разделенный от запятой текстовый файл, и затем запишите расписание в другой текстовый файл с различным символом-разделителем.

Задайте расписание в рабочей области с вектором длительности времен строки RowTimes.

RowTimes = seconds(1:5)';
TT = timetable(RowTimes,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×3 timetable
    RowTimes    Reading1    Reading2
    ________    ________    ________

    1 sec           98        120   
    2 sec         97.5        111   
    3 sec         97.9        119   
    4 sec         98.1        117   
    5 sec         97.9        116   

Запишите расписание в файл разделенного текста запятой и отобразите содержимое файла. Функция writetimetable выводит текстовый файл под названием TT.txt.

writetimetable(TT)
type 'TT.txt'
RowTimes,Reading1,Reading2
1 sec,98,120
2 sec,97.5,111
3 sec,97.9,119
4 sec,98.1,117
5 sec,97.9,116

Чтобы записать то же расписание в текстовый файл с различным символом-разделителем, используйте пару "имя-значение" 'Delimiter'.

writetimetable(TT,'TT_bar.txt','Delimiter','bar')
type 'TT_bar.txt'
RowTimes|Reading1|Reading2
1 sec|98|120
2 sec|97.5|111
3 sec|97.9|119
4 sec|98.1|117
5 sec|97.9|116

Создайте расписание, запишите его в файл электронной таблицы, и затем отобразите содержимое файла.

Задайте расписание в рабочей области с временами строки как вектор datetime.

Y = [2014:2018]'; M = ones(5,1); D = ones(5,1);
RowTimes = datetime(Y,M,D); % Create Row Times
TT = timetable(RowTimes,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×3 timetable
     RowTimes      Reading1    Reading2
    ___________    ________    ________

    01-Jan-2014        98        120   
    01-Jan-2015      97.5        111   
    01-Jan-2016      97.9        119   
    01-Jan-2017      98.1        117   
    01-Jan-2018      97.9        116   

Запишите таблицу в файл электронной таблицы 'TT.xlsx'. По умолчанию writetimetable функция написала первый рабочий лист в файле. Используйте пару "имя-значение" 'Sheet' для specifry рабочий лист, чтобы записать в.

writetimetable(TT,'TT.xlsx','Sheet',2)

Считайте и отобразите содержимое файла.

readtimetable('TT.xlsx','Sheet',2) 
ans=5×3 timetable
          RowTimes          Reading1    Reading2
    ____________________    ________    ________

    01-Jan-2014 00:00:00        98        120   
    01-Jan-2015 00:00:00      97.5        111   
    01-Jan-2016 00:00:00      97.9        119   
    01-Jan-2017 00:00:00      98.1        117   
    01-Jan-2018 00:00:00      97.9        116   

Входные параметры

свернуть все

Введите расписание.

Имя файла, заданное как вектор символов или скаляр строки.

В зависимости от местоположения вы пишете в, filename может взять одну из следующих форм.

Местоположение

Форма

Текущая папка

Чтобы записать в текущую папку, задайте имя файла в filename.

Пример: 'myTextFile.csv'

Другие папки

Чтобы записать в папку, отличающуюся от текущей папки, задайте полное имя или относительный путь в filename.

Пример: 'C:\myFolder\myTextFile.csv'

Пример: 'myFolder\myExcelFile.xlsx'

Удаленное местоположение

Чтобы записать в удаленное местоположение, filename должен содержать полный путь файла, заданного как интернационализировавший идентификатор ресурса (IRI) формы:

scheme_name://path_to_file/my_file.ext

На основе вашего удаленного местоположения scheme_name может быть одним из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/my_file.xlsx'

  • Если filename включает расширение файла, то функция записи определяет формат файла от расширения. В противном случае функция записи создает запятую, разделил текстовый файл и добавляет дополнительный .txt. Также можно задать filename без расширения файла, и затем включать аргументы пары "имя-значение" 'FileType', чтобы указать на тип файла.

  • Если filename не существует, то функция записи создает файл.

  • Если filename является именем файла существующего текста, то функция записи перезаписывает файл.

  • Если filename является именем существующего файла электронной таблицы, то функция записи пишет данные в заданное местоположение, но не перезаписывает значений вне области значений входных данных.

Типы данных: char | string

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'WriteVariableNames',false указывает, что имена переменных не должны быть включены как первая строка выходного файла.

Текст и файлы электронной таблицы

свернуть все

Тип файла, заданного как пара, разделенная запятой, состоящая из 'FileType' и вектора символов или строки, содержащей 'text' или 'spreadsheet'.

Пара "имя-значение" 'FileType' должна использоваться с входным параметром filename. Вы не должны задавать аргумент пары "имя-значение" 'FileType', если входной параметр filename включает стандартное расширение файла. Следующие стандартные расширения файла распознаны функцией записи:

  • .txt, .dat или .csv для файлов разделенного текста

  • .xls, .xlsm или .xlsx для файлов электронной таблицы Excel

  • .xlsb для файлов электронной таблицы Excel поддержан в системах с Excel для Windows

Пример: 'FileType','spreadsheet'

Типы данных: char | string

Индикатор для записи имен переменных как заголовки столбцов, заданные как пара, разделенная запятой, состоящая из 'WriteVariableNames' и или true или false.

Индикатор

Поведение

true

Функция записи включает имена переменных как заголовки столбцов вывода. Это поведение по умолчанию.

false

Функция записи не включает имена переменных в вывод.

Локаль для записи дат, заданных как пара, разделенная запятой, состоящая из 'DateLocale' и вектора символов или скаляра строки. При записи значений datetime в файл используйте DateLocale, чтобы задать локаль, в которой writetable должен написать имена месяца и дня недели и сокращения. Вектор символов или строка принимают форму xx_YY, где xx является строчный ISO 639-1 двухбуквенный код, указывающий на язык, и YY является прописной альфой ISO 3166-1 2 кода, указывающие на страну. Для списка общих ценностей для локали смотрите аргумент пары "имя-значение" Locale для функции datetime.

Функция записи игнорирует значение параметров 'DateLocale' каждый раз, когда даты могут быть записаны как отформатированные даты Excel.

Пример: 'DateLocale','ja_JP'

Типы данных: char | string

Текстовые файлы только

свернуть все

Символ разделителя полей, заданный как пара, разделенная запятой, состоящая из 'Delimiter' и вектора символов или скаляра строки, содержащего один из следующих спецификаторов.

Спецификатор

Разделитель полей

','

'comma'

Запятая. Это поведение по умолчанию.

' '

'space'

Пробел

'\t'

'tab'

Вкладка

';'

'semi'

Точка с запятой

'|'

'bar'

Вертикальная панель

Можно использовать пару "имя-значение" 'Delimiter' только для файлов разделенного текста.

Пример: 'Delimiter','space'

Типы данных: char | string

Индикатор для записи заключенного в кавычки текста, заданного как пара, разделенная запятой, состоящая из 'QuoteStrings' и или false или true. Если 'QuoteStrings' является true, то функция записи заключает текст в двойные кавычки и заменяет любые символы двойной кавычки, которые появляются как часть того текста с двумя символами двойной кавычки.

Можно использовать пару "имя-значение" 'QuoteStrings' только с файлами разделенного текста.

Схема кодировки символов, сопоставленная с файлом, заданным как пара, разделенная запятой, состоящая из 'Encoding' и 'system' или схемы кодирования стандартного символа, называет как одно из значений в этой таблице. Когда вы не задаете кодирования или задаете кодирование как 'system', функция записи использует ваше кодирование системного значения по умолчанию, чтобы записать файл.

'Big5'

'ISO-8859-1'

'windows-874'

'Big5-HKSCS'

'ISO-8859-2'

'windows-949'

'CP949'

'ISO-8859-3'

'windows-1250'

'EUC-KR'

'ISO-8859-4'

'windows-1251'

'EUC-JP'

'ISO-8859-5'

'windows-1252'

'EUC-TW'

'ISO-8859-6'

'windows-1253'

'GB18030'

'ISO-8859-7'

'windows-1254'

'GB2312'

'ISO-8859-8'

'windows-1255'

'GBK'

'ISO-8859-9'

'windows-1256'

'IBM866'

'ISO-8859-11'

'windows-1257'

'KOI8-R'

'ISO-8859-13'

'windows-1258'

'KOI8-U'

'ISO-8859-15'

'US-ASCII'

 

'Macintosh'

'UTF-8'

 

'Shift_JIS'

 

Пример: 'system' использует кодирование системного значения по умолчанию.

Типы данных: char | string

Файлы электронной таблицы только

свернуть все

Рабочий лист, чтобы записать в, заданный как пара, разделенная запятой, состоящая из 'Sheet' и вектора символов или скаляра строки, содержащего имя рабочего листа или положительное целое число, указывающее на индекс рабочего листа. Имя рабочего листа не может содержать двоеточие (:). Чтобы определить имена листов в файле электронной таблицы, используйте [status,sheets] = xlsfinfo(filename).

Если лист не существует, то функция записи добавляет новый лист в конце набора рабочего листа. Если лист является индексом, больше, чем количество рабочих листов, то добавляет пустые листы, пока количество рабочих листов в рабочей книге не равняется индексу листа. В любом случае функция записи также генерирует предупреждение, указывающее, что это добавило новый рабочий лист.

Можно использовать пару "имя-значение" 'Sheet' только с файлами электронной таблицы.

Пример: 'Sheet', 2

Пример: 'Sheet', 'MySheetName'

Типы данных: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Прямоугольный фрагмент рабочего листа, чтобы записать в, заданный как пара, разделенная запятой, состоящая из 'Range' и вектора символов или представить скаляр в виде строки в одной из следующих форм.

Форма значения Range Описание
'Corner1'

Corner1 задает первую ячейку области, чтобы записать. Функция записи пишет данные, запускающиеся в этой ячейке.

Пример: 'Range','D2'

'Corner1:Corner2'

Corner1 и Corner2 являются двумя противостоящими углами, которые задают область, чтобы записать. Например, 'D2:H4' представляет прямоугольную область 3 на 5 между этими двумя углами D2 и H4 на рабочем листе. Аргумент пары "имя-значение" 'Range' не является чувствительным к регистру, и использует стиль ссылки Excel A1 (см. справку Excel).

Пример: 'Range','D2:H4'

  • Если область значений, которую вы задаете, меньше, чем размер входных данных, то функция записи пишет только подмножество входных данных, которое помещается в область значений.

  • Если область значений, которую вы задаете, больше, чем размер входных данных, то функция записи оставляет остаток от области как есть.

Пара "имя-значение" 'Range' может только использоваться с файлами Excel.

Пример: 'Range', 'A1:F10'

Типы данных: char | string

Отметьте, чтобы запустить экземпляр Microsoft® Excel для Windows при записи данных об электронной таблице, заданных как пара, разделенная запятой, состоящая из 'UseExcel' и или true или false.

Когда запись в файлы электронной таблицы на платформах Windows, если вы не хотите запускать экземпляр Microsoft Excel, затем установила параметр 'UseExcel' на false.

Можно установить параметр 'UseExcel' на одно из этих значений:

  • tRUE Функция записи запускает экземпляр Microsoft Excel при записывании файла. Эта установка является значением по умолчанию для систем Windows с установленным Excel.

  • ложь Функция записи не запускает экземпляр Microsoft Excel при записывании файла. На Windows без Excel, Mac и Linux®, значением по умолчанию является false. При работе в этом режиме функциональность для записи отличается в поддержку форматов файлов и интерактивных функций, таких как формулы и макросы.

UseExcel

true

false

Поддерживаемые форматы файлов

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Поддержка интерактивных функций, таких как формулы и макросы

Да

Нет

Алгоритмы

Существуют некоторые экземпляры, где функция writetimetable создает файл, который не представляет входные данные точно. Вы заметите это, когда вы будете использовать функцию readtimetable, чтобы считать тот файл. Получившиеся данные не могут иметь того же самого формата или содержимого как исходные данные. Если необходимо сохранить расписание и получить его в более позднее время, чтобы точно совпадать с исходным расписанием, с теми же данными и организацией, то сохранить его как MAT-файл. writetimetable написал неточную таблицу в следующих экземплярах:

  • writetimetable выписывает числовые данные с помощью формата long g и категориальных или символьных данных как закрывший кавычки текст.

  • writetimetable выписывает переменные, которые имеют больше чем две размерности как двумерные переменные со свернутыми последующими измерениями.

  • Для переменных со знаком ячейки writetimetable выписывает содержимое каждой ячейки как одна строка, в нескольких, разделенных от разделителя полях. Когда содержимое является числовым, логическим, текст, или категориальным, функция writetimetable выписывает одно пустое поле в противном случае.

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

| | |

Введенный в R2019a