我有一些使用rostopic echo / foo> foo.csv写入到csv文件中的Pose Update rostopic数据
foo.csv看起来像:
%time,field
1539675906586600065,0.157465848996
1539675906587352037,0.160723703902
1539675906587656974,0.161057770877
1539675906587693929,0.161579636574
我正试图将其导入Octave进行进一步处理,但它并不是一个精确的定界符,并且我对dlmread或dlmwrite并不满意。
我尝试了
nsec = dlmread (nsecval,"\n",r1,c1)
error: 'nsecval' undefined near line 1 column 17 error: evaluating argument list element number 1`
我需要:
例如
0.157465848996
0.160723703902
0.161057770877
0.161579636574
总体而言,我真的很熟悉Octave和科学计算,并希望获得一些帮助。
答案 0 :(得分:0)
如果您使用的是Linux,我建议使用sed
进行小的预处理,以用空格替换所有逗号:
sed -i "s#,# #g" your_file
如果您使用的是Windows或其他工具,则替换逗号应该同样容易。有了八度音阶后,只需使用
i=load("your_file");
vec=i(:,2);
将第二列转换为列向量。
答案 1 :(得分:0)
首先,尝试使用nsec = dlmread(nsecval,“ \ n”,r1,c1)的问题:
八度错误告诉您它不知道'nsecval'是什么。
接下来使用dlmread,该函数需要文件名,定界符值,起始行,起始列(从0开始),如下所示:
nsec = dlmread ("foo.csv", ",", 1, 1)
将获取您所需的数据。