Make several tables from one table

2 ビュー (過去 30 日間)
Dion Theunissen
Dion Theunissen 2021 年 5 月 28 日
編集済み: Scott MacKenzie 2021 年 5 月 28 日
Hi,
I have a table like this:
Now i want to make several single tables with data out of this. I want to cut rows from IGNITION_ON until IGNITION_OFF.
How can I take those rows out of the table and save this in a seperate table?
Dion

採用された回答

Scott MacKenzie
Scott MacKenzie 2021 年 5 月 28 日
編集済み: Scott MacKenzie 2021 年 5 月 28 日
Try this...
% table containing your data
T = readtable('yourdata.xlxs');
% vectors of indices for ON/OFF rows
idxFirst = find(strcmp(T{:,2}, 'IGNITION_ON'));
idxLast = find(strcmp(T{:,2}, 'IGNITION_OFF'));
% create tables with data of interest and save in files Tnew1.xlsx, Tnew2.xlsx, etc.
for i=1:length(idxFirst)
Tnew{i} = T(idxFirst(i):idxLast(i),:);
writetable(Tnew{i}, sprintf('Tnew%d.xlsx', i));
end

その他の回答 (1 件)

Asmit Singh
Asmit Singh 2021 年 5 月 28 日
You can extract rows from a table uising row indexing. You can have a look at the "Index Using Numeric Indices" section in the documentation.
  2 件のコメント
Dion Theunissen
Dion Theunissen 2021 年 5 月 28 日
Thanks, can you maybe also help me to save all diferent tables? Now i read all seperate tables in a for loop and it overwrites each time. So on they end I only have the last table. How can I rename each table so I can save them all?
Asmit Singh
Asmit Singh 2021 年 5 月 28 日
You can initialise an emty cell array and store tables. After the for loop you will have a cell array of tables.
c = {}
%change for loop to your liking
for i = 1:5
%replace table with your table variable
c{i} = table
end

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by