Datastore для файлов электронной таблицы
Используйте объект SpreadsheetDatastore
управлять большим количеством файлов электронной таблицы, где набор не обязательно умещается в памяти. Можно создать объект SpreadsheetDatastore
с помощью функции spreadsheetDatastore
, задать ее свойства, и затем импортировать функции объекта использования данных.
ssds = spreadsheetDatastore(location)
ssds = spreadsheetDatastore(location,Name,Value)
задает дополнительные параметры и свойства для ssds = spreadsheetDatastore(location,Name,Value)
ssds
с помощью одного или нескольких аргументов в виде пар "имя-значение". Например, spreadsheetDatastore(location,'FileExtensions',{'.xlsx','.xls'})
задает который файлы включать в datastore в зависимости от расширений файла.
местоположение
Файлы или папки, чтобы включать в datastoreФайлы или папки, чтобы включать в datastore, заданный как вектор символа, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Если файлы не находятся в текущей папке, то location
должен быть полными или относительными путями. Файлы в подпапках заданной папки автоматически не включены в datastore. Поддерживаемыми расширениями файла является .xls
, .xlsx
, .xlsm
, .xltx
и .xltm
.
Можно использовать подстановочный символ (*) при определении location
. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.
Если файлы не доступны локально, то полный путь файлов или папок должен быть интернационализировавшим идентификатором ресурса (IRI) формы
.hdfs:///path_to_file
Для получения информации об использовании datastore с Amazon S3™ Устройство хранения данных Windows Azure® Blob и HDFS™, видят работу с Удаленными данными.
Когда location
представляет папку, datastore включает только поддерживаемые форматы файлов электронной таблицы и игнорирует любой другой формат.
Пример: 'file1.xlsx'
Пример: '../dir/data/file1.xlsx'
Пример: C: \dir\data\file1.xlsx', 'C:\dir\data\file2.xlsx'}
Пример: 's3://bucketname/path_to_files/*.xls'
Типы данных: char
| ячейка
| строка
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
ssds = spreadsheetDatastore ('C:\dir\spreadsheetdata', 'FileExtensions', {.xls ', '.xlsm'})
'IncludeSubfolders'
Флаг включения подпапкиtrue
или false
| 0 или 1Флаг включения подпапки, заданный как пара, разделенная запятой, состоящая из 'IncludeSubfolders'
и true
, false
, 0, или 1. Задайте true
, чтобы включать все файлы и подпапки в каждой папке или false
, чтобы включать только файлы в каждой папке.
Если вы не задаете 'IncludeSubfolders'
, то значением по умолчанию является false
.
Пример: 'IncludeSubfolders', верный
Типы данных: логический
| дважды
'FileExtensions'
Расширения файла электронной таблицыРасширения файла электронной таблицы, заданные как пара, разделенная запятой, состоящая из 'FileExtensions'
и вектора символа, массива ячеек из символьных векторов, представляют в виде строки скаляр или массив строк.
Если вы не задаете 'FileExtensions'
, то spreadsheetDatastore
автоматически включает все файлы с .xls
, .xlsx
, .xlsm
, .xltx
и расширениями .xltm
в заданном пути.
Если вы хотите включать электронные таблицы с нестандартными расширениями файла в SpreadsheetDatastore
, то задайте те расширения явным образом.
Если вы хотите создать SpreadsheetDatastore
для файлов без каких-либо расширений, то задайте 'FileExtensions'
как пустой символьный вектор, ''
.
Пример: 'FileExtensions'
Пример: 'FileExtensions' . xls'
Пример: 'FileExtensions' . xlsx', '.xlsm'}
Типы данных: char
| ячейка
| строка
'AlternateFileSystemRoots'
— Альтернативные пути к корню файловой системыАльтернативные пути к корню файловой системы, заданные как пара, разделенная запятой, состоящая из 'AlternateFileSystemRoots'
и вектора строки или массива ячеек. Используйте 'AlternateFileSystemRoots'
, когда вы создадите datastore на локальной машине, но должны будете получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, при обрабатывании данных с помощью Параллельных вычислений Toolbox™ и MATLAB® Distributed Computing Server™ и данные сохранены на локальных машинах с копией доступных данных на облаке другой платформы или кластерных машинах, необходимо использовать 'AlternateFileSystemRoots'
, чтобы сопоставить корневые пути.
Чтобы сопоставить набор корневых путей, которые эквивалентны друг другу, задайте 'AlternateFileSystemRoots'
как вектор строки. Например,
["Z:\datasets","/mynetwork/datasets"]
Чтобы сопоставить несколько наборов корневых путей, которые эквивалентны для datastore, задайте 'AlternateFileSystemRoots'
как массив ячеек, содержащий несколько строк, где каждая строка представляет набор эквивалентных корневых путей. Задайте каждую строку в массиве ячеек или как вектор строки или как массив ячеек из символьных векторов. Например:
Задайте 'AlternateFileSystemRoots'
как массив ячеек векторов строки.
{["Z:\datasets", "/mynetwork/datasets"];... ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}
Также задайте 'AlternateFileSystemRoots'
как массив ячеек массива ячеек из символьных векторов.
{{'Z:\datasets','/mynetwork/datasets'};... {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}
Значение 'AlternateFileSystemRoots'
должно удовлетворить эти условия:
Содержит одну или несколько строк, где каждая строка задает набор эквивалентных корневых путей.
Каждая строка задает несколько корневых путей, и каждый корневой путь должен содержать по крайней мере два символа.
Корневые пути уникальны и не являются подпапками друг друга.
Содержит по крайней мере одну корневую запись пути, которая указывает на местоположение файлов.
Для получения дополнительной информации смотрите Настроенный Datastore для Обработки на Различных Машинах или Кластерах.
Пример: Z: \datasets"",/mynetwork/datasets"]
Типы данных: представьте в виде строки
| ячейка
TextType
Тип выходных данных текстовых переменных'char'
(значение по умолчанию) | 'string'
Тип выходных данных текстовых переменных, заданных как пара, разделенная запятой, состоящая из 'TextType'
и или 'char'
или 'string'
.
Если выходная таблица от read
, readall
или функций preview
содержит текстовые переменные, то 'TextType'
задает тип данных тех переменных.
Если 'TextType'
является 'char'
, то вывод является массивом ячеек из символьных векторов.
Если 'TextType'
является 'string'
, то вывод имеет, вводят string
.
Типы данных: char | string
В дополнение к этим парам "имя-значение" также можно задать любое из свойств на этой странице как пары "имя-значение". За исключением свойства Files
.
Свойства SpreadsheetDatastore
описывают формат файлов в объекте datastore и управляют, как данные считаны из datastore. Можно задать значение свойств SpreadsheetDatastore
с помощью аргументов в виде пар "имя-значение", когда вы создаете объект datastore. За исключением свойства Files
. Чтобы просмотреть или изменить свойство после создания объекта, используйте запись через точку.
Files
— Файлы включены в datastoreФайлы включали в datastore, разрешенный как массив ячеек из символьных векторов или массив строк, где каждый вектор символа или строка являются полным путем к файлу. Аргумент location
в spreadsheetDatastore
и функциях datastore
задает эти файлы.
Первый файл, заданный в массиве ячеек, определяет имена переменных и данные о формате для всех файлов в datastore.
Пример: C: \dir\data\file1.xls'; 'C:\dir\data\file2.xls'}
Типы данных: ячейка
| строка
NumHeaderLines
Количество строк, чтобы пропустить0
(значение по умолчанию) | положительное целое числоКоличество строк, чтобы пропустить в начале каждого листа при чтении, заданный как положительное целое число. Когда вы также задаете свойство Range
, NumHeaderLines
является количеством строк, чтобы пропустить в начале заданного блока данных.
Типы данных: double
Sheets
— Листы в файлах''
(значение по умолчанию) | покрывает имена | индексы листаЛисты в файлах, заданных как вектор символа, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк, содержащий имена листа, или как числовой вектор индексов листа. ''
пустого символьного вектора указывает, что все листы в файлах включены.
Пример: {'sheet1', 'sheet7'}
Пример: [3 5 7]
Типы данных: char
| ячейка
| представляет в виде строки
| дважды
Область значений
Границы строки и столбца''
(значение по умолчанию) | вектор символа | представляет скаляр в виде строкиГраницы строки и столбца, заданные как вектор символа или скаляр строки, который задает прямоугольный блок данных в листах. ''
пустого символьного вектора указывает, что границы являются началом файла и концом данных.
Пример: 'B1:T7'
Пример: A: C
Типы данных: char | string
'ReadVariableNames'
Индикатор для чтения имен переменныхtrue
(значение по умолчанию) | false
| 1
| 0
Индикатор для чтения первой строки первого файла в datastore как имена переменных, заданные или как true
(1
) или как false
(0
).
Если true
, то первая строка незаголовка первого файла определяет имена переменных для данных.
Если false
, то первая строка незаголовка первого файла содержит первую строку данных. Имена переменных по умолчанию присвоены как Var1
, Var2
, и так далее.
Типы данных: логический
| дважды
Имена переменных
Имена переменныхИмена переменных в datastore, заданном как вектор символа, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Задайте имена переменных в порядке, в котором они появляются в файлах. Если вы не задаете имена переменных, они обнаруживаются от первой строки незаголовка в первом файле datastore. Можно задать VariableNames
с вектором символа или представить скаляр в виде строки, однако это автоматически преобразовано в массив ячеек из символьных векторов или массив строк. При изменении свойства VariableNames
количество новых имен переменных должно совпадать с количеством исходных имен переменных.
Если ReadVariableNames
является false
, то значения по умолчанию VariableNames
к {'Var1','Var2', ...}
.
Пример: {'Время', 'Дата', 'Количество'}
Типы данных: char
| ячейка
| строка
VariableTypes
VariableTypes 'double'
| 'char'
| 'string'
| 'categorical'
| 'datetime'
Типы переменных, заданные как 'double'
, 'char'
, 'string'
, 'categorical'
или 'datetime'
, который указывает на тип каждой переменной при чтении данных.
Список тип переменных соответствует переменным в VariableNames
. Типы double
, char
и datetime
могут быть автоматически обнаружены от данных. Можно задать VariableTypes
как вектор символа или представить скаляр в виде строки, однако spreadsheetDatastore
автоматически преобразовывает его в массив ячеек из символьных векторов или массив строк.
Пример: {'char', 'категориальный'}
Типы данных: char
| ячейка
| строка
Свойства для предварительного просмотра, читайте, readall Таблица
SelectedVariableNames
Переменные, чтобы читатьПеременные, чтобы читать из файла, заданного как вектор символа, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Каждый вектор символа или строка содержат имя одной переменной. Можно задать имена переменных в любом порядке. Можно задать SelectedVariableNames
с вектором символа или представить скаляр в виде строки, однако spreadsheetDatastore
автоматически преобразовывает его в массив ячеек из символьных векторов или массив строк.
Пример: {'Var3', 'Var7', 'Var4'}
Типы данных: char
| ячейка
| строка
SelectedVariableTypes
SelectedVariableTypes 'double'
| 'char'
| 'string'
| 'categorical'
| 'datetime'
Типы выбранной переменной, заданные как 'double'
, 'char'
, 'string'
, 'categorical'
или 'datetime'
, который указывает на тип каждой выбранной переменной при чтении данных. Список тип переменных соответствует переменным в SelectedVariableNames
. Типы double
, char
и datetime
могут быть автоматически обнаружены от данных. Можно задать SelectedVariableTypes
как вектор символа или представить скаляр в виде строки, однако это автоматически преобразовано в массив ячеек из символьных векторов или массив строк.
Пример: {'Дважды', 'datetime'}
Типы данных: char
| ячейка
| строка
ReadSize
Объем данных, чтобы читать'file'
(значение по умолчанию) | 'sheet'
| положительный целочисленный скалярОбъем данных, чтобы читать в вызове функции read
, заданной как 'file'
или 'sheet'
, или как положительный целочисленный скаляр.
Если ReadSize
является 'file'
, то каждый вызов read
считывает все данные один файл за один раз.
Если ReadSize
является 'sheet'
, то каждый вызов read
считывает все данные один лист за один раз.
Если ReadSize
является положительным целым числом, то каждый вызов read
читает строки, заданные ReadSize
или меньше, если это достигает конца данных.
Когда вы изменяете ReadSize
от целочисленного скаляра до 'file'
или 'sheet'
, или с другой стороны, сброс datastore с помощью функции reset
.
Типы данных: char
| представляет в виде строки
| дважды
hasdata | Определите, доступны ли Данные в Чтение |
numpartitions | Количество разделов datastore |
раздел | Разделите datastore |
предварительный просмотр | Подмножество данных в datastore |
чтение | Считайте данные в datastore |
readall | Считывайте все данные в datastore |
сброс | Сброс Datastore к начальному состоянию |
sheetnames | Запросите имена листа от datastore |
ssds = datastore('airlinesmall_subset.xlsx')
ssds = SpreadsheetDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\airlinesmall_subset.xlsx' } Sheets: '' Range: '' Sheet Format Properties: NumHeaderLines: 0 ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} VariableTypes: {'double', 'double', 'double' ... and 26 more} Properties that control the table returned by preview, read, readall: SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} SelectedVariableTypes: {'double', 'double', 'double' ... and 26 more} ReadSize: 'file'
Создайте объект SpreadsheetDatastore
, содержащий файл airlinesmall_subset.xlsx
.
ssds = spreadsheetDatastore('airlinesmall_subset.xlsx')
ssds = SpreadsheetDatastore with properties: Files: { ' ...\matlab\toolbox\matlab\demos\airlinesmall_subset.xlsx' } Sheets: '' Range: '' Sheet Format Properties: NumHeaderLines: 0 ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} VariableTypes: {'double', 'double', 'double' ... and 26 more} Properties that control the table returned by preview, read, readall: SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} SelectedVariableTypes: {'double', 'double', 'double' ... and 26 more} ReadSize: 'file'
Отобразите имена листа для файла. Файл содержит один лист в год.
sheetnames(ssds,1)
ans = Columns 1 through 7 '1996' '1997' '1998' '1999' '2000' '2001' '2002' Columns 8 through 13 '2003' '2004' '2005' '2006' '2007' '2008'
Задайте переменный FlightNum
во втором листе как данные интереса и предварительно просмотрите первые восемь строк.
ssds.Sheets = 2;
ssds.SelectedVariableNames = 'FlightNum';
preview(ssds)
ans = FlightNum _________ 1014 1201 702 1184 1310 1759 1242 1558
Только для чтения первые три строки переменных DepTime
и ArrTime
в первом листе.
ssds.ReadSize = 3; ssds.Sheets = 1; ssds.SelectedVariableNames = {'DepTime','ArrTime'}; read(ssds)
ans = DepTime ArrTime _______ _______ 2117 2305 1252 1511 1441 1708
Считайте все листы четыре, пять, и шесть.
ssds.Sheets = 4:6; readall(ssds);
Также можно создать объект SpreadsheetDatastore
с помощью функции datastore
. Например, ds = datastore(location,'Type','spreadsheet')
создает datastore из набора файлов, заданных location
.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.