我有两个程序。一个是从UR5机器人读取一些数据,另一个是从传感器读取数据。当我执行一些工业任务时,我需要将这些数据收集到表中。
我能够为每个程序分别生成表,但我需要创建一个调用函数的MAIN程序,并将这些表组合在一起。现在我只得到了我需要的一行。以下是我的主要计划:
idleForces = Thesis_calibration();
Time_Stamp = [];
while (true)
timestring = datestr(now,'HH:MM:SS.FFF');
[~,~,~,hours,minutes,seconds] = datevec(timestring);
time_ms = 1000*(3600*hours + 60*minutes + seconds);
measuredForces = Thesis_acquisition();
ur5Data = UR5_CLIENT_new();
Forces = minus(measuredForces,idleForces);
Row = table(time_ms,ur5Data);
Force = table(Forces);
writetable(Row,'robotdata.csv','Delimiter',',')
pause(0.01);
end
此图片中包含输出。如何逐行存储? DATA WRITTEN TO THE CSV FILE
答案 0 :(得分:1)
而不是可写入使用dlmwrite而只是输入您的数据作为矩阵。重要的是' -append'或者它只会像使用writetable一样覆盖第1列。
newRow = [time_ms,ur5Data];
dlmwrite('robotdata.csv',newRow,'-append');
默认分隔符是','所以你不必担心这一点。虽然您可以选择在dlmwrite函数中设置分隔符。