Запишите 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' |
---|---|
TabulartextDatastore SpreadsheetDatastore , 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
.
writeall
не поддерживает запись параллельно через локальные потоки.
Примечание
Параллельная запись не поддерживается для 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
— Индикатор для записи заключенного в кавычки текстаtrue
| false
Индикатор для записи заключенного в кавычки текста в виде 'QuoteStrings'
и любой true
или false
.
Если 'QuoteStrings'
true
, затем функция заключает текст в символы двойной кавычки и заменяет любой сопроводительный текст символов двойной кавычки на два символа двойной кавычки. Два символа двойной кавычки также упоминаются как оставленные символы.
Если 'QuoteStrings'
false
, затем текст записан без изменения.
Если 'QuoteStrings'
не задано, функция смотрит данные для разделителей, определяемых 'Delimiter'
аргумент значения имени. Если разделитель будет найден в рамках столбца, каждый элемент в рамках столбца будет записан с двойными кавычками.
Можно использовать '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).
tabularTextDatastore
| imageDatastore
| spreadsheetDatastore
| parquetDatastore
| audioDatastore
(Audio Toolbox) | write
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.