Separating and splitting table by numeric values and writing to multiple files
이전 댓글 표시
I have a single CSV with data uploaded from multiple IOT sensors (all within the same file), each device's row distinguished by a unique numeric ID. I convert this into a MATLAB table using the
readtable()
method. I can then organize the file by grouping device ID's separately by using the
sortrows()
method on the Device ID column.
However, how would I split the grouped devices into seperate tables? Currently I use the following algorithm:
for g = 1:numDevices %create a new file for each device type
outputFileIndoorData1 = sprintf("C:\Users\Documents\duetTestFile%d",g);
for h = 1:height(indoorDataSorted) %Iterate through entire CSV, splitting by device ID
if strcmp(indoorDataSorted.device_id(h),deviceIDs(g,1))
writelines(indoorDataSorted(h,1:17),outputFileIndoorData1); %Write to individual file specified
end
end
end
This is extremely resource intensive, however. What could be a more efficient way separating each devices data into a different file?
댓글 수: 2
Image Analyst
2022년 8월 29일
편집: Image Analyst
2022년 8월 29일
Please attach the output of sortrows as a variable in a .mat file so we can try things with it. Make it easy for people to help you, not hard.
In the meantime, see findgroups
Farid Barak
2022년 8월 29일
편집: Farid Barak
2022년 8월 29일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Develop Apps Using App Designer에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!