Main Content

mdfDatastore

MDF 文件集合的数据存储

说明

使用 MDF 数据存储对象可访问 MDF 文件集合中的数据。

创建对象

描述

示例

mdfds = mdfDatastore(location) 根据 MDF 文件或 location 指定的文件夹中的文件集合创建一个 MDF 数据存储。包含文件夹中扩展名为 .mdf.dat.mf4 的所有文件。

mdfds = mdfDatastore(__,Name=Value,Name=Value,...) 使用可选的名称-值对组指定 mdfds 的函数选项和属性。

输入参量

全部展开

MDF 数据存储文件的位置,指定为字符串、字符向量、元胞数组或对象。

  • DsFileSet 对象 - 您可以指定一个 DsFileSet 对象。有关详细信息,请参阅 matlab.io.datastore.DsFileSet

  • FileSet 对象 - 您可以将 location 指定为 FileSet 对象。与指定路径或 DsFileSet 对象相比,将位置指定为 FileSet 对象会加快数据存储的构造时间。有关详细信息,请参阅 matlab.io.datastore.FileSet

  • 文件路径 - 您可以将单个文件路径指定为字符向量或字符串标量。您可以将多个文件路径指定为字符向量元胞数组或字符串数组。

    该路径可以是相对路径或绝对路径,或指向远程服务器的 URL。location 参量可以包含通配符 *。如果 location 指定一个文件夹,则默认情况下,数据存储包含该文件夹中扩展名为 .mdf.dat.mf4 的所有文件。您可以使用 FileExtensions 参数来限制或扩展此列表。

    作为文件路径的 location 可以采用以下形式之一。

    数据位置

    形式

    当前文件夹或 MATLAB® 路径

    要访问当前文件夹或 MATLAB 路径中的文件,请在 location 中指定文件或文件夹的名称。指定文件时包括扩展名。

    示例:["myFile2.mf4","myFile3.mf4"]

    示例:"myDataFolder"

    其他文件夹

    要访问当前文件夹以外的文件夹中的文件,请在 location 中指定完整或相对路径名称。

    示例:"C:\myFolder\myFile*.mf4"

    示例:"\myDataFolder"

    远程位置

    要访问远程位置的文件,location 必须包含以统一资源定位器 (URL) 形式指定的文件或文件夹的完整路径:

    scheme://path_to_location

    根据远程位置,scheme 可以是下表中的值之一。

    远程位置scheme
    Amazon S3™s3
    Windows Azure® Blob 存储wasb, wasbs
    HDFS™hdfs

    有关详细信息,请参阅处理远程数据

    示例:"s3://bucketname/path_to_file/myMdfData/"

数据类型: string | char | cell | DsFileSet

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

这些对组设置文件信息或对象 属性。允许的选项有 IncludeSubfoldersFileExtensions 以及属性 ReadRawReadSizeSelectedChannelGroupNumberSelectedChannelNames

在 R2021a 之前,需要使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: SelectedChannelNames="Counter_B4"

包含子文件夹中的文件,指定为逻辑值。指定 true 可包含每个文件夹及其子文件夹中的文件。

示例: IncludeSubfolders=true

数据类型: logical

要包含在 MDF 数据存储中的文件名的自定义扩展名,指定为字符串、字符串数组、字符向量或字符向量元胞数组。默认情况下,支持的扩展名包括 .mdf.dat.mf4。如果您的文件具有自定义或非标准扩展名,请使用此“名称-值”设置来包含具有这些扩展名的文件。

示例: FileExtensions=[".myformat1",".myformat2"]

数据类型: char | cell

属性

全部展开

此 属性 为只读。

第一个 MDF 文件中存在的所有通道组,以表形式返回,该表的格式与 mdfChannelGroupInfo 函数返回的格式相同。

数据类型: table

此 属性 为只读。

第一个 MDF 文件中存在的所有通道,以表形式返回,该表的格式与 mdfChannelInfo 函数返回的格式相同。

MDF 数据存储的每个文件中要读取的那些通道必须具有相同的名称,并且属于同一通道组。

数据类型: table

数据存储中包含的文件,指定为字符向量、字符串或元胞数组。

示例: ["file1.mf4","file2.mf4"]

数据类型: char | string | cell

读取原始数据值,指定为 truefalse。如果指定 true,数据将读取为原始值。如果指定 false,数据将读取为物理值。默认值为 false

示例: ReadRaw=true

数据类型: logical

read 函数返回的数据的大小,指定为 "file"、数值或持续时间。字符串值 "file" 表示读取整个文件;双精度数值表示要读取的记录数;持续时间值表示要读取记录的时间范围。

如果稍后更改 ReadSize 属性值类型,则数据存储将重置。

示例: 50

数据类型: double | string | char | duration

要读取的通道组,指定为数值标量值。

示例: 1

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

要读取的通道的名称,指定为字符串、字符串数组、字符向量或元胞数组。

MDF 数据存储的每个文件中要读取的那些通道必须具有相同的名称,并且属于同一通道组。除非另有说明,否则默认值为按字母顺序排序的通道组 1 中的通道名称。

示例: "Counter_B4"

数据类型: char | string | cell

对象函数

read读取 MDF 数据存储中的数据
readall读取 MDF 数据存储中的所有数据
preview来自 MDF 数据存储的数据子集
reset将 MDF 数据存储重置为初始状态
hasdata确定 MDF 数据存储中是否有数据可以读取
partition对 MDF 数据存储分区
numpartitionsMDF 数据存储的分区数
combine (MATLAB)合并来自多个数据存储的数据
transform (MATLAB)变换数据存储
isPartitionable (MATLAB)确定数据存储是否可分区
isShuffleable (MATLAB)确定数据存储是否可乱序

示例

全部折叠

基于示例文件 CANape.MF4 创建一个 MDF 数据存储,并将其读入一个时间表中。

mdfds = mdfDatastore("C:\myMDFData\CANape.MF4");
while hasdata(mdfds)
    m = read(mdfds);
end

版本历史记录

在 R2017b 中推出

全部展开