Datastore для файлов электронной таблицы
Используйте SpreadsheetDatastore
объект управлять большим количеством файлов электронной таблицы, где набор не обязательно умещается в памяти. Можно создать SpreadsheetDatastore
объект с помощью spreadsheetDatastore
функционируйте, задайте его свойства, и затем импортируйте функции объекта использования данных.
создает datastore электронной таблицы из набора данных, заданных ssds
= spreadsheetDatastore(location
)location
.
задает дополнительные параметры и свойства для ssds
= spreadsheetDatastore(location
,Name,Value
)ssds
использование одного или нескольких аргументов пары "имя-значение". Например, spreadsheetDatastore(location,'FileExtensions',{'.xlsx','.xls'})
задает который файлы включать в datastore в зависимости от расширений файла.
location
— Файлы или папки, чтобы включать в datastoreDsFileSet
объектФайлы или папки, включенные в datastore, заданный как путь или DsFileSet
объект.
path Задайте путь как вектор символов, массив ячеек из символьных векторов, представьте в виде строки скаляр или массив строк, содержа местоположение файлов или папок, которые являются локальными или удаленными.
Локальные файлы или папки — Задают location
как локальный путь к файлам или папкам. Если файлы не находятся в текущей папке, то локальный путь должен задать полные или относительные пути. Файлы в подпапках заданной папки автоматически не включены в datastore. Можно использовать подстановочный символ (*) при определении локального пути. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.
Удаленные файлы или папки — Задают location
быть полными путями файлов или папок как универсальный локатор ресурса (URL) формы hdfs:///path_to_file
. Для получения дополнительной информации смотрите работу с Удаленными данными.
DsFileSet
объект — также можно задать location
как DsFileSet
объект. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet
.
Когда location
представляет папку, datastore включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы задать пользовательский список расширений файла, чтобы включать в ваш datastore, смотрите FileExtensions
свойство.
spreadsheetDatastore
функция поддерживает эти расширения: .xls
, .xlsx
, .xlsm
, .xltx
, и .xltm
.
Пример: 'file1.xlsx'
Пример: '../dir/data/file1.xlsx'
Пример: {'C:\dir\data\file1.xlsx','C:\dir\data\file2.xlsx'}
Пример: 's3://bucketname/path_to_files/*.xls'
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
ssds = spreadsheetDatastore('C:\dir\spreadsheetdata','FileExtensions',{'.xls','.xlsm'})
'IncludeSubfolders'
— Флаг включения подпапкиtrue
или false
| 0 или 1Флаг включения подпапки, заданный как разделенная запятой пара, состоящая из 'IncludeSubfolders'
и true
ложь
, 0, или 1. Задайте true
включать все файлы и подпапки в каждой папке или false
включать только файлы в каждой папке.
Если вы не задаете 'IncludeSubfolders'
, затем значением по умолчанию является false
.
Пример: 'IncludeSubfolders',true
Типы данных: логический |
double
'FileExtensions'
— Расширения файла электронной таблицыРасширения файла электронной таблицы, заданные как разделенная запятой пара, состоящая из 'FileExtensions'
и вектор символов, массив ячеек из символьных векторов, представляет в виде строки скаляр или массив строк.
Если вы не задаете 'FileExtensions'
, затем spreadsheetDatastore
автоматически включает все файлы с .xls
, .xlsx
, .xlsm
, .xltx
, и .xltm
расширения в заданном пути.
Если вы хотите включать электронные таблицы с нестандартными расширениями файла в SpreadsheetDatastore
, затем задайте те расширения явным образом.
Если вы хотите создать SpreadsheetDatastore
для файлов без любых расширений затем задайте 'FileExtensions'
как пустой символьный вектор, ''
.
Пример: 'FileExtensions',''
Пример: 'FileExtensions','.xls'
Пример: 'FileExtensions',{'.xlsx','.xlsm'}
Типы данных: char |
cell
| string
'AlternateFileSystemRoots'
— Альтернативные пути к корню файловой системыАльтернативные пути к корню файловой системы, заданные как разделенная запятой пара, состоящая из 'AlternateFileSystemRoots'
и вектор строки или массив ячеек. Используйте 'AlternateFileSystemRoots'
когда вы создаете datastore на локальной машине, но должны получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, когда обработка данных с помощью Parallel Computing Toolbox™ и MATLAB® Parallel 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"]
Типы данных: string
| cell
'TextType'
— Тип выходных данных текстовых переменных'char'
(значение по умолчанию) | 'string'
Тип выходных данных текстовых переменных, заданных как разделенная запятой пара, состоящая из 'TextType'
и любой 'char'
или 'string'
.
Если выходная таблица от read
readall
, или preview
функции содержат текстовые переменные, затем 'TextType'
задает тип данных тех переменных.
Если 'TextType'
ischar
, затем выход является массивом ячеек из символьных векторов.
Если 'TextType'
isstring
, затем выход имеет, вводят 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'}
Типы данных: cell
| string
NumHeaderLines
— Количество линий, чтобы пропустить
(значение по умолчанию) | положительное целое числоКоличество линий, чтобы пропустить в начале каждого листа при чтении, заданный как положительное целое число. Когда вы также задаете Range
свойство, NumHeaderLines
количество линий, чтобы пропустить в начале заданного блока данных.
Типы данных: double
Sheets
— Листы в файлах''
(значение по умолчанию) | покрывает имена | индексы листаЛисты в файлах, заданных как вектор символов, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк, содержащий имена листа, или как числовой вектор индексов листа. Пустой символьный вектор ''
указывает, что все листы в файлах включены.
Пример: {'sheet1','sheet7'}
Пример: [3 5 7]
Типы данных: char |
cell
| string
| double
Range
— Границы строки и столбца''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиГраницы строки и столбца, заданные как вектор символов или скаляр строки, который задает прямоугольный блок данных в листах. Пустой символьный вектор ''
указывает, что границы являются началом файла и концом данных.
Пример: 'B1:T7'
Пример: 'A:C'
Типы данных: char |
string
ReadVariableNames
— Индикатор для чтения имен переменныхtrue
(значение по умолчанию) | false
| 1
| 0
Индикатор для чтения первой строки первого файла в datastore как имена переменных, заданные как любой true
(1 ) или
false
(0 ).
Если true
, затем первая строка незаголовка первого файла определяет имена переменных для данных.
Если false
, затем первая строка незаголовка первого файла содержит первую строку данных. Имена переменных по умолчанию присвоены как Var1
, Var2
, и так далее.
Типы данных: логический |
double
PreserveVariableNames
— Отметьте, чтобы сохранить имена переменныхfalse
(значение по умолчанию) | true
Отметьте, чтобы сохранить имена переменных, заданные как разделенная запятой пара, состоящая из PreserveVariableNames
и любой true
, или false
.
true
— Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.
false
— Преобразуйте недопустимые имена переменных (как определено isvarname
функция) к допустимым идентификаторам MATLAB.
Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут запустить с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname
функция. Чтобы сохранить эти имена переменных и имена строки, установите PreserveVariableNames
к true
.
VariableNames
— Имена переменныхИмена переменных в datastore, заданном как вектор символов, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Задайте имена переменных в порядке, в котором они появляются в файлах. Если вы не задаете имена переменных, datastore обнаруживает их от первой линии незаголовка в первом файле. Можно задать VariableNames
с вектором символов или скаляром строки, однако datastore преобразует и хранит значение свойства к массиву ячеек из символьных векторов. При изменении VariableNames
свойство, количество новых имен переменных должно совпадать с количеством исходных имен переменных.
Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена varible, содержащие пробелы и символы non-ASCII, устанавливают PreserveVariableNames
параметр к true
.
Если ReadVariableNames
false
, затем VariableNames
значения по умолчанию к {'Var1','Var2', ...}
.
Пример: {'Time','Date','Quantity'}
Типы данных: char |
cell
| string
VariableTypes
VariableTypes 'double'
| 'char'
| 'string'
| 'categorical'
| 'datetime'
Типы переменных, заданные как 'double'
'char'
Строка
категориальный
, или 'datetime'
, который указывает на тип каждой переменной при чтении данных.
Список тип переменных соответствует переменным в VariableNames
. Типы double
'char'
, и datetime
может быть автоматически обнаружен из данных. Можно задать VariableTypes
как вектор символов или скаляр строки, однако spreadsheetDatastore
автоматически преобразует его в массив ячеек из символьных векторов или массив строк.
Пример: {'char','categorical'}
Типы данных: char |
cell
| string
preview
чтение
readall
ТаблицаSelectedVariableNames
— Переменные, чтобы читатьПеременные, чтобы читать из файла, заданного как вектор символов, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Каждый вектор символов или строка содержат имя одной переменной. Можно задать имена переменных в любом порядке. Можно задать SelectedVariableNames
с вектором символов или скаляром строки, однако spreadsheetDatastore
автоматически преобразует его в массив ячеек из символьных векторов или массив строк.
Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена varible, содержащие пробелы и символы non-ASCII, устанавливают PreserveVariableNames
параметр к true
.
Пример: {'Var3','Var7','Var4'}
Типы данных: char |
cell
| string
SelectedVariableTypes
SelectedVariableTypes 'double'
| 'char'
| 'string'
| 'categorical'
| 'datetime'
Типы выбранной переменной, заданные как 'double'
'char'
Строка
категориальный
, или 'datetime'
, который указывает на тип каждой выбранной переменной при чтении данных. Список тип переменных соответствует переменным в SelectedVariableNames
. Типы double
'char'
, и datetime
может быть автоматически обнаружен из данных. Можно задать SelectedVariableTypes
как вектор символов или скаляр строки, однако это автоматически преобразовано в массив ячеек из символьных векторов или массив строк.
Пример: {'double','datetime'}
Типы данных: char |
cell
| string
ReadSize
— Объем данных, чтобы читать'file'
(значение по умолчанию) | 'sheet'
| положительный целочисленный скалярОбъем данных, чтобы читать в вызове read
функция, заданная как 'file'
или 'sheet'
, или как положительный целочисленный скаляр.
Если ReadSize
isfile
, затем каждый вызов read
считывает все данные один файл за один раз.
Если ReadSize
'sheet'
, затем каждый вызов read
считывает все данные один лист за один раз.
Если ReadSize
положительное целое число, затем каждый вызов read
читает строки, заданные ReadSize
, или меньше, если это достигает конца данных.
Когда вы изменяете ReadSize
от целочисленного скаляра до 'file'
или 'sheet'
, или с другой стороны, сброс datastore с помощью reset
функция.
Типы данных: char |
string
| double
hasdata | Определите, доступны ли данные для чтения |
numpartitions | Количество разделов datastore |
partition | Разделите datastore |
preview | Подмножество данных в datastore |
read | Считайте данные в datastore |
readall | Считывайте все данные в datastore |
reset | Сброс Datastore к начальному состоянию |
sheetnames | Запросите имена листа от datastore |
transform | Преобразуйте datastore |
combine | Объедините данные от нескольких datastores |
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.