跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
MATLAB / Octave算法

MATLAB textread 函数详解与常见用法整理

MATLAB textread 函数用于格式统一文件的批量读取。通过指定文件名、格式字符串及可选参数(如分隔符、跳过行数),可灵活解析数值、字符及混合数据。支持忽略特定列、处理空值及注释行,是快速导入数据的实用工具。

lzdxwyh发布于 2024/12/25更新于 2026/7/2133 浏览
MATLAB textread 函数详解与常见用法整理

textread 函数适用于格式统一的 txt 文件一次性大批量读取,无需先调用 fopen。它通过指定文件名、格式字符串及可选参数,灵活解析数值、字符及混合数据。

基本语法

[A,B,C,...] = textread(filename, format)
[A,B,C,...] = textread(filename, format, N)
  • filename:目标文件名。
  • format:读取格式,如 %f(浮点)、%s(字符串)、%d(整数)等。
  • N:读取次数或行数。
  • 输出变量个数必须与 format 中定义的占位符数量一致。

注意:参数顺序很重要,filename、format、N 需放在其他选项之前。

场景一:无分隔符的纯数字矩阵

假设 mytest.txt 内容如下:

1 2 3 4
5 6 7 8
9 10 11 12

使用 %n 匹配任意数字:

[data1,data2,data3,data4] = textread('mytest.txt','%n%n%n%n');
data = [data1 data2 data3 data4];

结果将按列填充。若需限制读取行数,可添加第三个参数:

[data1,data2,data3,data4] = textread('mytest.txt','%n%n%n%n',3);

场景二:带分隔符的数据

对于逗号或分号分隔的文件,需指定 delimiter 参数。例如 myfile.txt:

1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12

读取时自动跳过分隔符:

[data1,data2,data3,data4] = textread('myfile.txt','%n%n%n%n','delimiter', ',');

处理 Iris 数据集时,若包含类别标签:

[data1,data2,data3,data4,data5] = textread('Iris.txt','%f%f%f%f%s','delimiter',',');

若只想读取前四列数值,忽略最后一列:

[data1,data2,data3,data4] = textread('Iris.txt','%f %f %f %f %*s',150,'delimiter',',');

其中 %*s 表示跳过该字段。

场景三:处理注释行

如果文件首行是注释,可使用 headerlines 跳过:

[data1,data2,data3,data4] = textread('myfiles.txt','%n%n%n%n','delimiter', ',', 'headerlines', 1);

headerlines 设为 1 即跳过第一行,可根据实际注释行数调整。

场景四:混合数据类型与跳过列

当一行中包含字符串、数字和布尔值时,格式串需对应:

[names, types, x, y, answer] = textread('myfile4.txt' , '%s %s %f %d %s', 1);

若中间某列不需要,可用 %*f 忽略:

[names, types, y, answer] = textread('myfile4.txt' , '%s %s %*f %d %s', 1);

或者提取特定部分,如从 Level1 中提取数字:

[names, levelnum, x, y, answer] = textread('myfile4.txt','%s Level%d %f %d %s', 1);

场景五:处理空值

文件中存在缺失数据时,可用 emptyvalue 将其替换为 NaN:

[data1 data2 data3 data4 data5 data6] = textread('myfile5.txt','%f%f%f%f%f%f', 'delimiter', ',', 'emptyvalue', NaN);

这样空位会显示为 NaN,便于后续计算处理。

场景六:跳列读取

若只需读取每行的部分内容,可利用正则表达式跳过剩余字符:

[names] = textread('myfile6.txt','%s%\[^\n\]');

%\[^\n\] 表示读取到行尾,但 %* 开头则直接跳过该行剩余内容。此技巧适合快速提取单列信息。

场景七:日期时间格式

对于结构化较强的日志或数据,可拆分日期时间字段:

[location year month day hour minute discharge] = textread('myfile7.txt','%s%f-%f-%f%f:%f%f','headerlines',1,'delimiter',';');

注意分隔符与格式串中的符号需严格对应。

小结

textread 在处理旧版数据或简单文本导入时非常高效。不过需注意,在新版 MATLAB 中,建议优先考虑 readtable 或 importdata,以获得更好的兼容性和功能支持。

目录

  1. 基本语法
  2. 场景一:无分隔符的纯数字矩阵
  3. 场景二:带分隔符的数据
  4. 场景三:处理注释行
  5. 场景四:混合数据类型与跳过列
  6. 场景五:处理空值
  7. 场景六:跳列读取
  8. 场景七:日期时间格式
  9. 小结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 金融 NLP 实战:从文本分析到风险评估应用开发
  • 数据结构 - 初阶:树的基本概念与结构
  • DeepSeek-R1 开源大模型推理优化实战方案
  • 三本必读的 AI 大模型开发指南
  • HDFS 分布式文件系统数据读写流程详解
  • 从单机到分布式:Redis 在架构演进中的核心价值
  • AI 辅助 Java 开发:在线图书借阅平台从 0 到 1 实战
  • JavaScript 闭包原理与实战应用详解
  • Linux 进阶:掌握 make 工具与 Makefile 编写
  • 基于SpringBoot的毕业生就业管理系统设计与实现
  • C 语言指针与数组的深层关联及实战
  • 深入详解组合数学:理解组合问题在 AI 算法中的应用
  • Figma + Claude + Weavy AI 设计工作流实战
  • Flutter 组件 tavily_dart 在鸿蒙系统的适配实战
  • 基于Python的高性能JSON结构化编辑器架构详解
  • AI 编程工具定价对比:Cursor、Windsurf、Kiro、Zed 及 VS Code
  • 黑马点评项目实战:Redis 缓存与 RabbitMQ 异步秒杀优化
  • 六轴机械臂正运动学建模与 Python 实现
  • YC 创始人开源 gstack:基于工作流的 AI 编程实践
  • llama.cpp 量化模型部署:从模型转换到 API 服务

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online