Запишите datastore в файлы
writeall( пишут данные из входного datastore ds,outputLocation)ds к выходным файлам в местоположении, заданном в outputLocation. Количество выходных файлов совпадает с количеством файлов, на которые ссылается datastore.
writeall( записывает данные с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, можно задать ds,outputLocation,Name,Value)'OutputType' и расширение файла, такое как 'csv' задавать тип файлов что writeall создает.
Запишите datastore в диск, и затем создайте новый datastore для записанных файлов. Этот процесс полезен для сохранения вашей работы или совместного использования datastore с коллегой.
Создайте datastore для airlinesmall.csv набор данных, обрабатывая 'NA' значения как недостающие данные. Выберите только Yearмесяц, и Carrier переменные.
ds = datastore('airlinesmall.csv'); ds.TreatAsMissing = 'NA'; ds.SelectedVariableNames = {'Month','Year','UniqueCarrier'};
Предварительно просмотрите datastore.
preview(ds)
ans=8×3 table
Month Year UniqueCarrier
_____ ____ _____________
10 1987 {'PS'}
10 1987 {'PS'}
10 1987 {'PS'}
10 1987 {'PS'}
10 1987 {'PS'}
10 1987 {'PS'}
10 1987 {'PS'}
10 1987 {'PS'}
Сохраните этот datastore в новую папку под названием ExampleData на C:\ диск. (Можно задать различное местоположение записи, особенно если вы не используете компьютер Windows®.) Задают 'FolderLayout' как 'flatten' помещать файлы datastore непосредственно в целевую папку, не создавая подпапки.
location = 'C:\ExampleData'; writeall(ds,location,'Folderlayout','flatten')
Очистите ds из вашей рабочей директории. Чтобы восстановить datastore с диска, создайте новый datastore, который ссылается на ту же папку, где данные были записаны.
clear ds
ds2 = datastore(location);При записи datastore в файлы можно принять решение скопировать или сгладить структуру папок путем установки 'FolderLayout' параметр. Создайте datastore изображений из входного местоположения и затем выпишите datastore к файлам. Затем запишите файлы в выходном местоположении путем дублирования размещения папки. Наконец, запишите файлы как плоский список к выходному местоположению.
Создайте datastore изображений из местоположения 'C:\input\', который содержит некоторые изображения автомобилей и обучается:

imds = imageDatastore('C:\input\','IncludeSubfolders',true);
Эта структура папок является только примером. Можно попробовать функциональность структурой папок на машине, которая содержит файлы изображений.
Исследуйте Folders свойство входного datastore, который содержит полностью определенный путь к входному набору данных.
imds.Folders
ans =
1×1 cell array
{'C:\input\'}Запишите datastore в выходное местоположение 'C:\output\'. Значение по умолчанию 'FolderLayout' параметром является 'duplicate'. Поэтому writeall функционируйте копирует все папки, содержавшиеся в Folders свойство входного datastore и затем записывает файлы в соответствующие выходные папки.
writeall(imds,'C:\output\');

Теперь запишите файлы от datastore, чтобы вывести местоположение 'C:\output\' как плоский список установкой 'FolderLayout' к 'flatten'. В этом экземпляре, writeall функция не сохраняет входное размещение папки и вместо этого записывает все файлы в плоское выходное местоположение.
writeall(imds,'C:\output\','FolderLayout','flatten');

Для получения дополнительной информации смотрите FolderLayout.
Можно использовать FilenamePrefix и FilenameSuffix параметры, чтобы добавить текст в начало или конец имен выходного файла. Создайте datastore изображений из входного местоположения. Выпишите datastore к файлам и добавьте текст к началу имен файлов. Затем запишите datastore снова и добавьте текст в конец имен файлов.
Создайте datastore изображений из местоположения 'C:\input\', который содержит некоторые изображения автомобилей и обучается:

imds = imageDatastore('C:\input\','IncludeSubfolders',true);
Эта структура папок является только примером. Можно попробовать функциональность структурой папок на машине, которая содержит файлы изображений.
Теперь запишите файлы в выходное местоположение. Задайте значение FilenamePrefix как 'png_' добавлять тот текст к началу каждого имени выходного файла.
writeall(imds,'C:\output\','FilenamePrefix','png_');

Запишите файлы в различное выходное местоположение. Задайте значение FilenameSuffix как '_image' добавлять тот текст в конец каждого имени выходного файла.
writeall(imds,'C:\output2\','FilenameSuffix','_image');

ds — Введите datastoreВведите datastore. Можно использовать эти хранилища данных в качестве входа к writeall:
Также можно использовать эти хранилища данных с writeall если вы предоставляете любого 'OutputFormat' или 'WriteFcn' пара "имя-значение":
outputLocation — Местоположение папки, чтобы записать данныеМестоположение папки, чтобы записать данные в виде вектора символов или строкового скаляра. outputLocation может задать полный или относительный путь.
Пример: outputLocation = '../../dir/data'
Пример: outputLocation = "C:\Users\MyName\Desktop"
Типы данных: char | string
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
writeall(ds,outputLocation,'FolderLayout','flatten')'OutputFormat' — Формат выходного файлаФормат выходного файла в виде разделенной запятой пары, состоящей из 'OutputFormat' и вектор символов или строковый скаляр.
На основе типа входного datastore ds, выберите одно из этих значений для выходных файлов. Можно выбрать любой табличный выходной формат для любого из табличных описанных ниже хранилищ данных.
Введите Datastore | 'OutputFormat' |
|---|---|
TabulartextDatastoreSpreadsheetDatastore, ParquetDatastore | 'txt', 'csv', 'xlsx', 'xls', 'parquet', или 'parq' |
ImageDatastore | 'png', 'jpg', 'jpeg', 'tif', или 'tiff' |
AudioDatastore | 'wav', 'ogg', 'flac', 'mp4', или 'm4a' |
FileDatastore, TransformedDatastore, CombinedDatastore | Все выходные форматы поддерживаются. |
Для некоторых выходных форматов существуют дополнительные пары "имя-значение", которые можно использовать, чтобы совершенствовать операцию записи.
| 'OutputFormat' | Пары "имя-значение" |
|---|---|
| |
| |
| |
| |
|
Типы данных: char | string
'FolderLayout' — Размещение файлов в выходной папке'duplicate' (значение по умолчанию) | 'flatten'Размещение файлов в выходной папке в виде разделенной запятой пары, состоящей из 'FolderLayout' и любой 'duplicate' или 'flatten'.
'duplicate' — writeall функция реплицирует структуру папок, содержавшую в местоположении входных данных к заданному выходному местоположению. Местоположение входных данных содержит Folders свойство входного datastore.
'flatten' — writeall функция записывает все файлы от входа до заданной выходной папки без любых подпапок.
Типы данных: char | string
'FilenamePrefix' — Префикс к имени файлаПрефикс к имени файла в виде разделенной запятой пары, состоящей из 'FilenamePrefix' и вектор символов или строковый скаляр.
writeall функция добавляет заданный префикс в имена выходного файла. Например, этот код добавляет сегодняшнюю дату в начало всех имен выходного файла от datastore:
prefixText = string(datetime('today')) writeall(imds,'C:\myFolder','FilenamePrefix',prefixText);
Типы данных: char | string
'FilenameSuffix' — Суффикс к имени файлаСуффикс к имени файла в виде разделенной запятой пары, состоящей из 'FilenameSuffix' и вектор символов или строковый скаляр.
writeall функция добавляет заданный суффикс в имена выходного файла. Например, этот код добавляет описательный текст 'jpeg_70per' в конец всего выходного файла называет от datastore:
writeall(imds,'C:\myFolder','FilenameSuffix','jpeg_70per');
Типы данных: char | string
'UseParallel' — Индикатор, чтобы записать параллельноfalse (значение по умолчанию) | true| 0 | 1 Индикатор, чтобы записать параллельно в виде разделенной запятой пары, состоящей из 'UseParallel' и любой false или true(0 или 1).
writeall по умолчанию записи в сериале. Если вы устанавливаете UseParallel к true, затем writeall делит операции записи на отдельные группы и запускает группы параллельно если:
Parallel Computing Toolbox™ установлен.
Открытый параллельный пул существует, или автоматическое создание пула включено в Параллельных Настройках.
В противном случае, writeall записи в сериале независимо от значения для UseParallel.
Параллельная запись не поддержана для CombinedDatastore объекты или хранилища данных, следующие из transform примененный CombinedDatastore.
Типы данных: логический
'WriteFcn' — Пользовательская функция записиПользовательская функция записи в виде разделенной запятой пары, состоящей из 'WriteFcn' и указатель на функцию. Заданная функция ответственна за создание выходных файлов.
Можно использовать 'WriteFcn' аргумент пары "имя-значение", чтобы записать данные во множестве форматов, даже если writeall непосредственно не поддерживает выходной формат.
Пользовательская функция записи должна принять по крайней мере три входных параметра, data, writeInfo, и outputType:
function myWriteFcn(data,writeInfo,outputType)data содержит выход read метод, работающий с datastore.
writeInfo объект типа matlab.io.datastore.WriteInfo с перечисленными в таблице полями.
| Поле | Описание | Ввод |
|---|---|---|
ReadInfo | Второй выход read метод | struct |
SuggestedOutputName | Полностью определенное, глобально уникальное имя файла, которое соответствует требования именования и местоположение | string |
Location | Аргумент местоположения передал записи datastore | string |
outputType выходной формат должен быть записан в, например, "txt" или "csv".
Функция записи, которая записывает файлы паркета от datastore:
function myParquetWriteFcn(data, writeInfo, outputType) if strcmp(outputType,"parquet") parquetwrite(writeInfo.SuggestedOutputName,data) end end
myParquetWriteFcn как запись функционируют для datastore ds, используйте эти команды:ds = parquetDatastore(location); outputLocation = 'C:/tmp/MyData'; writeall(ds,outputLocation,'WriteFcn',@myParquetWriteFcn);
Типы данных: function_handle
jpeg или jpg Вывод 'Quality' — Качество сжатого файла JPEG (значение по умолчанию) | скаляр в области значений [0,100]Качество сжатого файла JPEG в виде разделенной запятой пары, состоящей из 'Quality' и скаляр в области значений [0,100], где 0 более низкое качество и более высокое сжатие, и 100, является более высоким качеством и более низким сжатием.
Пример: 'Quality',25
wav или flac Вывод 'BitsPerSample' — Количество выходных битов на выборку (значение по умолчанию) | 8| 24 | 32 | 64 Количество выходных битов на выборку в виде разделенной запятой пары, состоящей из 'BitsPerSample' и 8, 16, 24, 32, или 64.
Для файлов FLAC, только 8, 16, или 24 биты на выборку поддерживаются.
Пример: 'BitsPerSample',32
mp4 или m4a Вывод 'BitRate' — Килобиты в секунду (Кбит/с)Количество килобит в секунду (Кбит/с), используемых в сжатых звуковых файлах в виде разделенной запятой пары, состоящей из 'BitRate' и 64, 96, 128, 160, 192, 256, или 320. На Windows® 7 или позже, единственные допустимые значения: 96, 128, 160, и 192.
В общем случае больший BitRate значение приводит к более высокому качеству сжатия.
Пример: 'BitRate',96
txt или csv Вывод 'WriteVariableNames' — Индикатор для записи имен переменных как заголовки столбцовtrue (значение по умолчанию) | falseИндикатор для записи имен переменных как заголовки столбцов в виде разделенной запятой пары, состоящей из 'WriteVariableNames' и любой true или false.
Индикатор | Поведение |
|---|---|
| Функция записи включает имена переменных как заголовки столбцов выхода. Это поведение по умолчанию. |
| Функция записи не включает имена переменных в выход. |
'Delimiter' — Символ разделителя полейСимвол разделителя полей в виде разделенной запятой пары, состоящей из 'Delimiter' и вектор символов или строковый скаляр, содержащий один из этих спецификаторов:
Спецификатор | Разделитель полей |
|---|---|
| Запятая. Это поведение по умолчанию. |
| Пробел |
| Вкладка |
| Точка с запятой |
| Вертикальная панель |
Можно использовать 'Delimiter' пара "имя-значение" только для файлов разделенного текста.
Пример: 'Delimiter','space'
Типы данных: char | string
'Encoding' — Схема кодировки символов'system' (значение по умолчанию) | 'UTF-8' | 'ISO-8859-1' | 'windows-1251' | 'windows-1252' | ...Схема кодировки символов, сопоставленная с файлом в виде разделенной запятой пары, состоящей из 'Encoding' и 'system' или схема кодирования стандартного символа называет как одно из значений в этой таблице. Когда вы не задаете кодирования или задаете кодирование как 'system', функция записи использует ваше кодирование системного значения по умолчанию, чтобы записать файл.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
Пример: 'UTF-8'
Типы данных: char | string
'QuoteStrings' — Индикатор для записи заключенного в кавычки текстаfalse (значение по умолчанию) | trueИндикатор для записи заключенного в кавычки текста в виде разделенной запятой пары, состоящей из 'QuoteStrings' и любой false или true. Если 'QuoteStrings' true, затем функция записи заключает текст в двойные кавычки и заменяет любые символы двойной кавычки, которые появляются как часть того текста с двумя символами двойной кавычки.
Можно использовать 'QuoteStrings' пара "имя-значение" только с файлами разделенного текста.
xls или xlsx Вывод 'Sheet' — Рабочий лист, чтобы записать вРабочий лист, чтобы записать в в виде разделенной запятой пары, состоящей из 'Sheet' и вектор символов или строковый скаляр, содержащий имя рабочего листа или положительное целое число, указывающее на индекс рабочего листа. Имя рабочего листа не может содержать двоеточие (:). Чтобы определить имена листов в файле электронной таблицы, используйте sheets = sheetnames(filename). Для получения дополнительной информации смотрите sheetnames.
Задайте рабочий лист, чтобы записать в по наименованию или индекс:
имя — Если заданное имя листа не существует в файле, то функция записи добавляет новый лист в конце набора рабочего листа.
индекс — Если заданный индекс листа является индексом, больше, чем количество рабочих листов, то функция записи добавляет пустые листы до количества рабочих листов в рабочей книге, равняется индексу листа. Функция записи также генерирует предупреждение, указывающее, что она добавила новый рабочий лист.
Можно использовать 'Sheet' пара "имя-значение" только с файлами электронной таблицы.
Пример: 'Sheet',2
Пример: 'Sheet', 'MySheetName'
Типы данных: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Чтобы запуститься параллельно, установите 'UseParallel' опция к true.
Для более общей информации о параллельных вычислениях смотрите функции MATLAB Запуска с Автоматической Параллельной Поддержкой (Parallel Computing Toolbox).
audioDatastore | imageDatastore | parquetDatastore | spreadsheetDatastore | tabularTextDatastore | write
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.