writetimetable

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

Описание

пример

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®

  • .xml для Расширяемого языка разметки (XML) файлы.

пример

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×2 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×2 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' пара "имя-значение", чтобы задать рабочий лист, чтобы записать в.

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

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

readtimetable('TT.xlsx','Sheet',2) 
ans=5×2 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 должен содержать полный путь файла, заданного как универсальный локатор ресурса (URL) формы:

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 имя аргумента и 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 задавать локаль в который writetimetable должен написать имена месяца и дня недели и сокращения. Вектор символов или строка принимают форму xx_YY, где xx строчный ISO 639-1 двухбуквенный код, указывающий на язык и YY прописная альфа ISO 3166-1 2 кода, указывающие на страну. Для списка общих значений для локали смотрите Locale аргумент пары "имя-значение" для datetime функция.

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

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

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

Режим Writing в виде разделенной запятой пары, состоящей из 'WriteMode' и вектор символов или строковый скаляр. Выберите режим записи на основе типа файла.

FileType

Режим записи

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

  • 'overwrite' (значение по умолчанию) — Перезапись файл.

  • 'append' — Добавьте данные к файлу.

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

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

  • 'inplace' (значение по умолчанию) — Обновление только область значений занято входными данными. Функция записи не изменяет данных за пределами области значений, занятой входными данными.

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

  • 'overwritesheet' — Очистите заданный лист и запишите входные данные в очищенный лист.

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

  • 'append' — Функция записи добавляет входные данные к нижней части занятой области значений заданного листа.

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

  • 'replacefile' — Удалите все другие листы из файла, затем очистите и запишите входные данные в к заданному листу.

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

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

  • Когда WriteVariableNames установлен в true, функция записи не поддерживает режим записи 'append'.

  • Для файлов электронной таблицы:

    • Когда режимом записи является 'append', функция записи не поддерживает Range параметр.

    • Если файл, который вы задали, не существует, то функция записи выполняет те же действия как 'replacefile'.

Пример: 'WriteMode','append'

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

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

свернуть все

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

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

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

','

'comma'

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

' '

'space'

Пробел

'\t'

'tab'

Вкладка

';'

'semi'

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

'|'

'bar'

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

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

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

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

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

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

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

Пример: 'Encoding','UTF-8' использование UTF-8 как кодирование.

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

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

свернуть все

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

Задайте рабочий лист, чтобы записать в по наименованию или индекс:

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

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

Можно использовать '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.

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

  • true — Функция записи запускает экземпляр Microsoft Excel при записывании файла.

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

UseExcel

true

false

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

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

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

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

Да

Нет

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

Автоматически настройте ширину столбца в виде true или false. Если вы задаете значение 0 или falseто writetimetable автоматически не настроит ширину столбцов, чтобы приспособить данные в ячейках.

Пример: 'AutoFitWidth',0

Сохраните форматирование ячейки существующей электронной таблицы в виде true или false. Если вы задаете false, writetimetable не сохранит форматирование ячейки электронной таблицы. Форматирование включает элементы, такие как шрифты, границы ячейки и заштрихованные цветом ячейки.

При записи datetime данные в файл электронной таблицы, необходимо установить оба 'PreserveFormat' и 'UseExcel' Пара "имя-значение" к true сохранить форматирование существующей ячейки. Если 'UseExcel' установлен в false и 'PreserveFormat' установлен в true при записи datetime данные к файлу, writetimetable не сохранит форматирование существующей ячейки файла.

Пример: 'PreserveFormat'ложь

XML-файлы только

свернуть все

Суффикс атрибута в виде разделенной запятой пары, состоящей из 'AttributeSuffix' и или вектор символов или строковый скаляр, указывающий, который имена переменных во входной таблице написать как атрибуты в выходном XML-файле.

Например, для имени переменной AttName_att во входной таблице можно задать 'AttributeSuffix','_att' указать на тот 'AttName' должен быть выписан как атрибут в выходном XML-файле.

  • Если вы не задаете 'AttributeSuffix', writetimetable значения по умолчанию к записи переменных с суффиксным 'Attribute' как приписывает в выходном XML-файле.

  • Если атрибут, заданный как значение 'AttributeSuffix' совпадает с суффиксом, добавленным к имени переменной во входной таблице, суффикс будет исключен из имени переменной в выходном XML-файле. Например, если вы задаете 'AttributeSuffix','_att', переменная во входной таблице под названием MyField_att будет соответствовать атрибуту под названием MyField в XML-файле.

Пример: 'AttributeSuffix','_att'

Имя узла строки XML в виде разделенной запятой пары, состоящей из 'RowNodeName' и или вектор символов или строковый скаляр, запись функционирует записи как имя узла в выходном XML-файле, который соответствует строкам во входной таблице. Если вы не задаете RowNodeName, затем функция записи пишет 'row' как имя узлов строки в выходной таблице.

Пример: 'TableNodeName','RootName'

Корневой узел XML называет в виде разделенной запятой пары, состоящей из 'TableNodeName' и или вектор символов или строковый скаляр запись функционируют записи как имя корневого узла в выходном XML-файле. Если вы не задаете TableNodeName, затем функция записи пишет 'table' как имя корневого узла в выходной таблице.

Пример: 'TableNodeName','RootName'

Ограничения

  • Установить 'PreserveFormat' пара "имя-значение" к true, необходимо установить 'UseExcel' пара "имя-значение" к true.

Алгоритмы

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

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

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

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

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

    • В противном случае, writetimetable функция выписывает одно пустое поле.

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

| | |

Введенный в R2019a