支持的导入和导出的文件格式
将数据导入 MATLAB® 的理想工作流取决于数据格式以及您的个人预设项。您可以通过编程方式或使用专用工作流来导入数据。最常见的解决办法是使用为数据定制的函数以编程方式导入数据。
当您将数据导入至 MATLAB 工作区时,您创建的新变量将会覆盖工作区中同名的任何现有变量。
以编程方式导入文件
MATLAB 包含针对导入特定文件格式定制的函数。当您要导入整个文件或仅导入文件的一部分时,请考虑使用格式特定的函数。许多格式特定的函数都提供了用于选择数据范围或数据部分的选项。一些格式特定的函数允许您请求多种可选的输出。
下表显示您可以在 MATLAB 应用程序导入和导出的文件格式。
文件内容 | 扩展名 | 描述 | 导入函数 | 导出函数 |
---|---|---|---|---|
MATLAB 格式化数据 | MAT | 已保存的 MATLAB 工作区 | ||
访问 MATLAB 工作区中的部分变量 | matfile | matfile | ||
文本 | 任何扩展名,包括: | 分隔数字 | ||
带分隔符的数字,或者文本和数字的混合 | 无 | |||
列向分隔数字或者文本和数字混合 | ||||
纯文本 | ||||
电子表格 | XLS XLSB(仅限安装了 Windows® 版 Microsoft® Excel® 的系统) XLTM(仅导入) ODS(仅限安装了 Windows 版 Microsoft Excel 的系统) | 工作表或电子表格范围中的列向数据 | ||
可扩展标记语言 | XML | XML 格式的文本 | ||
JavaScript® 对象表示法 | JSON | JSON 格式的文本 | ||
Parquet 格式数据 | PARQUET | Parquet 格式的列向数据 | parquetread | parquetwrite |
Data Acquisition Toolbox™ 文件 | DAQ | Data Acquisition Toolbox | 无 | |
科学数据 | CDF | 常用数据格式 (CDF) | 请参阅常用数据格式 (CDF) | 请参阅 |
FITS | 普适图像传输系统 | 请参阅FITS 文件 | 请参阅FITS 文件 | |
HDF | HDF4 或 HDF-EOS2 | 请参阅HDF4 文件 | 请参阅HDF4 文件 | |
H5 | HDF5 | 请参阅HDF5 文件 | 请参阅HDF5 文件 | |
NC | 网络通用数据格式 (netCDF) | 请参阅NetCDF 文件 | 请参阅NetCDF 文件 | |
图像数据 | BMP | Windows 位图 | ||
GIF | 图形交换格式 | |||
HDF | 分层数据格式 | |||
JPEG | 联合图像专家组 | |||
JP2 | JPEG 2000 | |||
PBM | 可移植位图 | |||
PCX | 画笔 | |||
PGM | 可移植灰度图 | |||
PNG | 可移植网络图形 | |||
PNM | 可移植图 | |||
PPM | 可移植像素图 | |||
RAS | Sun® 光栅 | |||
TIFF | 标记图像文件格式 | |||
XWD | X 窗口转储 | |||
CUR | Windows 光标资源 | 无 | ||
ICO | Windows 图标资源 | |||
音频(所有平台) | AU | NeXT/Sun 声音 | 无 | |
AIFF | 音频交换文件格式 | |||
AIFC | 带压缩编码的音频交换文件格式 | |||
FLAC | 免费的无损压缩音频编码 | |||
MP3 | MPEG-1 音频层 III | |||
OGG | Ogg Vorbis | |||
OPUS | Ogg Opus | |||
WAV | Microsoft WAVE 声音 | |||
音频 (Windows) | M4A | MPEG-4 第 3 部分 AAC | ||
任意 | Microsoft Media Foundation 支持的格式 | 无 | ||
音频 (Mac) | M4A | MPEG-4 第 3 部分 AAC | ||
音频 (Linux®) | 任意 | GStreamer 支持的格式 | 无 | |
视频(所有平台) | AVI | 音频视频交错格式 | ||
MJ2 | Motion JPEG 2000 | |||
视频 (Windows) | MPG | MPEG-1 | VideoReader | 无 |
ASF | Windows Media® | |||
任意 | Microsoft DirectShow® 支持的格式 | |||
视频 (Windows 7) 或更高版本 | MP4 | MPEG-4 | VideoReader | VideoWriter |
MOV | QuickTime® | VideoReader | 无 | |
任意 | Microsoft Media Foundation 支持的格式 | |||
视频 (Mac) | MP4 | MPEG-4 | VideoReader | VideoWriter |
MPG | MPEG-1 | VideoReader | 无 | |
MOV | QuickTime | |||
任意 | QuickTime 支持的格式,包括 | |||
视频 (Linux) | 任意 | 安装的 GStreamer 插件支持的格式,包括 | VideoReader | 无 |
三角剖分 | STL | 立体光刻 | stlread | stlwrite |
低级文件 | 任何文本格式 | 低级二进制文本数据 | fread | fwrite |
任意 | 低级二进制 | fscanf | fprintf | |
任何文本格式 | 文本文件或字符串中的格式化数据 | textscan | 无 |
专用数据格式的工作流
二进制数据的内存映射
对于二进制数据文件,请考虑 内存映射概述。通过内存映射,可以使用标准 MATLAB 索引操作访问文件数据。内存映射是将磁盘上某文件的一部分或整个文件映射到应用程序地址空间内某个地址范围的一种机制。然后,应用程序可采用与访问动态内存相同的方法访问磁盘上的文件。内存映射的主要优势体现在效率、更快的文件访问速度、能够在应用程序之间共享内存,以及更高效的编码。
使用 MATLAB 工具箱进行专用导入
MATLAB 工具箱执行专用导入操作。例如,使用 Database Toolbox™ 软件从关系数据库导入数据。请参阅有关特定工具箱的文档以查看可用的导入功能。
用于读写数据的 Web 服务
可以使用 RESTful 或 WSDL 等 Web 服务来读取和写入 Internet 媒体类型格式的数据,例如 JSON、XML、图像或文本。有关详细信息,请参阅:
使用低级 IO 读取数据
如果格式特定的函数无法读取您的数据,并且专用工作流不符合您的要求,请使用低级 I/O 函数,如 fscanf
或 fread
。低级函数支持最大程度地控制对文件的读取,但它们需要详细了解您的数据结构。此工作流不常用。