如何提取数值Datafrom txt文件与混合字符串和数值数据
4视图(30天)
显示旧的评论
你好,社区,
我有一个txt文件与五轴Millingmachine APT-Code。它看起来像这样:
PARTNO / 0
单位/毫米
MCS / $
1.0000000000,0.0000000000,0.0000000000美元
0.0000000000,1.0000000000,0.0000000000美元
0.0000000000,0.0000000000,1.0000000000美元
-0.000000,-0.000000,-0.000000
MULTAX /上
刀/ 12.000000,0.000000
OSETNO LOADTL / 1,长度,0.000000,0
CLW SPINDL / RPM 796
COOLNT /洪水
选择/ 0
FEDRAT / MMPM, 79.577499
转到/ -11.132475,124.105644,13.006427美元
-0.0131792286,0.9844993949,0.1748921126
转到/ -11.099527,121.644394,12.569197美元
-0.0131792286,0.9844993949,0.1748921126
FEDRAT / MMPM, 159.154907
转到/ -11.113749,121.604874,12.790616美元
-0.0131792286,0.9844993949,0.1748921126
转到/ -11.122633,121.413193,13.868834美元
-0.0131792286,0.9844993949,0.1748921126
转到/ -11.031648,121.223442,14.943585美元
-0.0131792286,0.9844993949,0.1748921126
转到/ -10.841551,121.037193,16.005919美元
-0.0131792286,0.9844993949,0.1748921126
........... FEDRAT / MMPM, 79.699799
我只女士感兴趣的三个数字后面转到/和下一行的三个。我想成一个矩阵[n, 6]。我试着一些事情与textscan但不成功。谁能给我一个简短的描述如何处理混合数据?
有限公司简
接受的答案
Fangjun江
2011年8月10日
fid = fopen (“用法”,“rt”);
k = 0;
fline = fgetl (fid);
而~ feof (fid)
如果strfind (fline“GOTO /”)
k = k + 1;
temp = sscanf (fline(6:结束),“% f”,);
数据(k, 1:3) = temp ';
fline = fgetl (fid);%跳过空白行
fline = fgetl (fid);
temp = sscanf (fline,“% f”,);
数据(k, 4:6) = temp ';
结束
fline = fgetl (fid);
结束
文件关闭(fid);