You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Octave中将特定格式文本文件解析为指定结构矩阵

Octave 读取文本文件并拆分指定列

核心解决方案

使用textscan时,通过精准的格式字符串直接拆分日期、时间串,并读取后续数值列,代码如下:

% 打开目标文本文件
fid = fopen('your_data.txt', 'r');
% 格式字符串:拆解日期、时间,匹配逗号分隔的数值
formatspec = '%4d%2d%2d %2d%2d%2d%3d,%f,%f,%d';
% 读取数据并合并为单一矩阵
data_cell = textscan(fid, formatspec, 'CollectOutput', true);
fclose(fid);

% 转换为最终矩阵
result = data_cell{1};

格式字符串详解

逐段解析%4d%2d%2d %2d%2d%2d%3d,%f,%f,%d:

  • %4d%2d%2d:将8位日期串20120601拆分为**年(4位)、月(2位)、日(2位)**三个整数列
  • %2d%2d%2d%3d:将7位时间串000000603拆分为**时(2位)、分(2位)、秒(2位)、毫秒(3位)**四个整数列
  • ,%f,%f,%d:匹配后续逗号分隔的三个数值,分别对应两个浮点数和一个整数
  • 'CollectOutput', true:让textscan把所有列合并到一个单元格,直接转换为矩阵即可

效果验证

输入单行文本:

20120601 000000603,1.234610,1.234780,0

输出矩阵对应行:

2012   6   1   0   0   0  603   1.23461   1.23478   0

内容的提问来源于stack exchange,提问作者babelproofreader

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 00:59:58