Matlab文件操作 txt 二进制 csv XML JSON HDF5 图像 音频 视频等

matlab支持对多种文件格式进行导入  同时也支持低级IO api进行访问

标准文件格式

文本、电子表格、图像、科学数据、音频和视频、XML 文档de

标准文件格式功能从常见文件格式中读取数据,例如 Microsoft® Excel® 电子表格、文本、图像、音频和视频,以及科学数据格式。有关详细信息,请参阅支持的导入和导出文件格式

您可以通过在主页选项卡上选择导入数据来读取这些格式中的许多格式。

 

  • 文本文件

    分隔文本文件和格式化文本文件

    读写分隔文本文件和格式化文本文件(包括 .csv 和 .txt 文件)中的数值数据和非数值数据。使用导入工具以交互方式导入文本文件数据。使用该页面中的函数以编程方式导入或导出文本数据。要比较导入文本文件的主要方法,请参阅导入文本文件的方式


    分隔文本文件和格式化文本文件 
  • 电子表格

    Microsoft® Excel® 电子表格

    读写电子表格文件(包括 .xls 和 .xlsx 文件)中的数据。使用导入工具以交互方式导入电子表格数据。使用该页面中的函数以编程方式导入或导出电子表格数据。要比较导入电子表格文件的主要方法,请参阅导入电子表格的方式

    函数

  •  
  • 图像
    JPEG、TIFF、PNG 和其他格式
  • 科学数据
    NetCDF、HDF、FITS 和 CDF 格式
  • 音频和视频
    读取和写入视频和音频文件;录制和播放音频
  • XML 文档
    可扩展标记语言文档

具体支持的格式和使用的函数在这里https://ww2.mathworks.cn/help/matlab/import_export/supported-file-formats.html

 

 

低级文件IO Low-Level File I/O

以字节形式对文件进行读写

https://ww2.mathworks.cn/help/matlab/low-level-file-i-o.html?lang=en

Functions

fcloseClose one or all open files
feofTest for end of file
ferrorFile I/O error information
fgetlRead line from file, removing newline characters
fgetsRead line from file, keeping newline characters
filereadRead contents of file as text
fopenOpen file, or obtain information about open files
fprintfWrite data to text file
freadRead data from binary file
frewindMove file position indicator to beginning of open file
fscanfRead data from text file
fseekMove to specified position in file
ftellCurrent position
fwrite

Write data to binary file

 

 

 

Examples and How To

Import Text Data Files with Low-Level I/O

Low-level file I/O functions allow the most control over reading or writing data to a file.

 

导入文本文件的方式

根据数据格式和 MATLAB® 工作区中所需的数据类型,选择一种导入方法。以交互或编程方式导入文本文件。

要以交互方式导入数据,请使用导入工具。可以生成代码对多个相似文件重复该操作。导入工具支持文本文件,包括扩展名为 .txt.dat.csv.asc.tab 和 .dlm 的文件。这些文本文件可以是非矩形文件,可以有行和列标题,如下图所示。这些文件中的数据可以是数值和非数值文本的组合,可以由一个或多个字符分隔。

要以编程方式从文本文件中导入数据,请使用导入函数。大多数针对文本文件的导入函数要求每一行数据都具有相同的列数,这样可以指定要导入的数据范围。

采用以下方法之一导入文本文件。

导入方法

说明

有关示例,请参阅...

导入工具 

将文件或某一范围的数据导入到列向量、矩阵、元胞数组或表。可以生成代码对多个相似文件重复该操作。

使用导入工具导入文本文件数据

readmatrixreadvars 或 readcell

将列向数据导入到矩阵、变量或元胞数组。

导入逗号分隔的数据

导入分隔的数值数据

将 readmatrixreadvars 或 readcell 与 detectImportOptions 结合使用:

对数据导入施加更多控制。例如,选择变量,以导入或处理包含缺失数据或存在导致错误的数据的行。

从文本文件导入混合数据块

readtable 或 readtimetable

将列向数据导入到表或时间表中。

从文本文件中导入混合数据

将 readtable 或 readtimetable 与 detectImportOptions 结合使用:

对数据导入施加更多控制。例如,选择变量,以导入或处理包含缺失数据或存在导致错误的数据的行。

定义表的导入选项

TabularTextDatastore(使用 read 或 readall 函数)

导入一个或多个列向的文本文件。每个文件都可以很大,无需加载到内存中。

读取和分析大型表格文本文件

textscan

将非矩形或任意格式的文本文件导入到元胞数组。

Import Block of Numeric Data from Text File

textscan

从文本文件或字符串读取格式化数据

全页折叠

语法

C = textscan(fileID,formatSpec)

C = textscan(fileID,formatSpec,N)

C = textscan(chr,formatSpec)

C = textscan(chr,formatSpec,N)

C = textscan(___,Name,Value)

[C,position] = textscan(___)

有关导入具有更复杂格式的文件的信息,请参阅使用低级 I/O 导入文本数据文件

 

使用低级 I/O 导入文本数据文件

概述

通过低级文件 I/O 函数,可以最大程度地控制文件数据的读取和写入。但是,相对于更易于使用的高级函数,例如 importdata,这些低级函数要求指定更为详细的文件信息。有关读取文本文件的高级函数的详细信息,请参阅导入文本文件的方式

如果高级函数无法导入数据,请使用下列函数之一:

  • fscanf,读取文本或 ASCII 文件(即可以在文本编辑器中查看的文件)中的格式化数据。有关详细信息,请参阅读取格式化模式的数据

  • fgetl 和 fgets,一次读取文件中的一行,其中每一行通过换行符分隔。有关详细信息,请参阅逐行读取数据

  • fread,读取从相应字节或位级开始的数据流。有关详细信息,请参阅通过低级 I/O 导入二进制数据

有关其他信息,请参阅:

  • 检测文件末尾 (EOF)

  • 使用不同的字符编码打开文件

    检测文件末尾 (EOF)

    当一次读取数据的一部分时,可以使用 feof 检查是否已到达文件的末尾。当文件指针位于文件末尾时,feof 返回值 1。否则,将返回 0

  • 使用 fgetl 和 fgets 测试 EOF

    如果在控制循环中使用 fgetl 或 fgetsfeof 并不始终是检测文件末尾的最佳方式。作为备选方法,可以考虑检查 fgetl 或 fgets 返回的值是否为字符向量。

  • 使用不同的字符编码打开文件

    编码方案支持特定字母所需的字符,例如日语或欧洲语言字符。常见的编码方案包括 US-ASCII 或 UTF-8。

    如果您不指定编码方案,fopen 将使用系统的默认编码打开文件进行处理。要确定默认编码方案,请打开文件,并再次使用以下语法调用 fopen

    [filename, permission, machineformat, encoding] = fopen(fid);

    如果在打开文件时指定了编码方案,以下函数将应用该方案:fscanffprintffgetlfgetsfread 和 fwrite

    有关支持的编码方案的完整列表以及用于指定编码的语法,请参阅 fopen 参考页。

Import Binary Data with Low-Level I/O

Low-level file I/O functions allow the most direct control over reading or writing data to a file.

Export to Text Data Files with Low-Level I/O

This example shows how to create text files, including combinations of numeric and character data and nonrectangular files, using the low-level fprintf function.

Export Binary Data with Low-Level I/O

Low-level file I/O functions allow the most direct control over reading or writing data to a file.

Concepts

Methods for Importing Data

MATLAB® import options for various data formats

 

导入工具

从文件导入数据https://ww2.mathworks.cn/help/matlab/ref/importtool-app.html

说明

通过导入工具,您可以从电子表格文件、分隔文本文件和等宽的文本文件中预览和导入数据。您能够以交互方式选择要导入的数据并重用工具生成的脚本或函数以导入其他类似文件。

打开 导入工具 App

  • MATLAB® 工具条:在主页选项卡中的变量部分中,点击导入数据

  • MATLAB 命令提示符:输入 uiimport(filename),其中 filename 是用于指定文本或电子表格文件名称的字符向量。

 

通过低级 I/O 导入二进制数据

用于导入数据的低级函数https://ww2.mathworks.cn/help/matlab/import_export/importing-binary-data-with-low-level-i-o.html

通过低级文件 I/O 函数,可以最大程度地直接控制对文件数据的读取和写入。但是,相对于更易于使用的高级函数,这些低级函数要求指定更为详细的文件信息。有关高级函数及其支持的文件格式的完整列表,请参阅支持的导入和导出文件格式

如果高级函数无法导入数据,请使用下列函数之一:

  • fscanf,读取文本或 ASCII 文件(即可以在文本编辑器中查看的文件)中的格式化数据。有关详细信息,请参阅读取格式化模式的数据

  • fgetl 和 fgets,一次读取文件中的一行,其中每一行通过换行符分隔。有关详细信息,请参阅逐行读取数据

  • fread,读取从相应字节或位级开始的数据流。有关详细信息,请参阅 读取文件中的二进制数据

 

 

JSON 格式

JavaScript® 对象表示法格式https://ww2.mathworks.cn/help/matlab/json-format.html?s_tid=CRUX_lftnav

函数

jsondecode解码 JSON 格式的文本
jsonencode基于结构化 MATLAB 数据创建 JSON 格式的文本

 

 

 

支持的导入和导出文件格式

下表显示了可以从 MATLAB® 应用程序导入和导出的文件格式。

除了表中的函数以外,还可以使用导入工具,以交互方式导入文本或电子表格文件格式。

文件内容

扩展名

说明

导入函数

导出函数

MATLAB 格式化数据

MAT

保存的 MATLAB 工作区

load

save

访问 MATLAB 工作区中的部分变量

matfilematfile

文本

任意文本,包括:
CSV
TXT

逗号分隔的数字

readmatrix

writematrix

分隔数字

readmatrix

writematrix

分隔数字或者文本和数字混合

textscan

列向分隔数字或者文本和数字混合

readtable

readcell

readvars

writetable

writecell

电子表格

XLS
XLSX
XLSM

XLSB(仅限安装了 Windows® 版 Microsoft® Excel® 的系统)

XLTM(仅导入)
XLTX(仅导入)

ODS(仅限安装了 Windows 版 Microsoft Excel 的系统)

工作表或电子表格范围中的列向数据

readmatrix

readtable

readcell

readvars

writematrix

writetable

writecell

可扩展标记语言

XML

XML 格式化文本

xmlread

xmlwrite

Data Acquisition Toolbox™ 文件

DAQ

Data Acquisition Toolbox

daqread

科学数据

CDF

常用数据格式 (CDF)

请参阅常用数据格式 (CDF)

请参阅 cdflib

FITS

普适图像传输系统

请参阅FITS 文件

请参阅FITS 文件

HDF

分层数据格式第 4 版或 HDF-EOS 第 2 版

请参阅HDF4 文件

请参阅HDF4 文件

H5

HDF 或 HDF-EOS 第 5 版

请参阅HDF5 文件

请参阅HDF5 文件

NC

网络通用数据格式 (netCDF)

请参阅NetCDF 文件

请参阅NetCDF 文件

图像

BMP

Windows 位图

imread

imwrite

GIF

图形交换格式

HDF

分层数据格式

JPEG
JPG

联合图像专家组

JP2
JPF
JPX
J2C
J2K

JPEG 2000

PBM

可移植位图

PCX

画笔

PGM

可移植灰度图

PNG

可移植网络图形

PNM

可移植图

PPM

可移植像素图

RAS

Sun™ 光栅

TIFF
TIF

标记图像文件格式

XWD

X 窗口转储

CUR

Windows 光标资源

imread

ICO

Windows 图标资源

音频(所有平台)

AU
SND

NeXT/Sun 声音

audioread

audiowrite

AIFF

音频交换文件格式

AIFC

带压缩编码的音频交换文件格式

FLAC

免费的无损压缩音频编码

OGG

Ogg Vorbis

WAV

Microsoft WAVE 声音

音频 (Windows)

M4A
MP4

MPEG-4

audioreadaudiowrite

任意

Microsoft Media Foundation 支持的格式

audioread

音频 (Mac)

M4A
MP4

MPEG-4

audioreadaudiowrite

音频 (Linux®)

任意

GStreamer 支持的格式

audioread

视频(所有平台)

AVI

音频视频交叉存取格式

VideoReader

VideoWriter

MJ2

Motion JPEG 2000

视频 (Windows)

MPG

MPEG-1

VideoReader

ASF
ASX
WMV

Windows Media®

任意

Microsoft DirectShow® 支持的格式

视频(Windows 7 或更高版本)

MP4
M4V

MPEG-4

VideoReaderVideoWriter

MOV

QuickTime

VideoReader

任意

Microsoft Media Foundation 支持的格式

视频 (Mac)

MP4
M4V

MPEG-4

VideoReaderVideoWriter

MPG

MPEG-1

VideoReader

MOV

QuickTime

任意

QuickTime 支持的格式,包括 .3gp.3g2 和 .dv

视频 (Linux)

任意

安装的 GStreamer 插件支持的格式,包括 .ogg

VideoReader

三角剖分

STL

立体光刻stlreadstlwrite

可以使用 RESTful 或 WSDL 等 Web 服务来读取和写入 Internet 媒体类型格式的数据,例如 JSON、XML、图像或文本。有关详细信息,请参阅:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值