Is there a way to only read every third row of a .csv file?

19 ビュー (過去 30 日間)
Petch Anuwutthinawin
Petch Anuwutthinawin 2021 年 7 月 10 日
編集済み: LO 2021 年 7 月 10 日
I need my code to read every third row and every column of a .csv file and save it seperately. For example I need the third row, sixth row, ninth row saved but not the first and second rows.

採用された回答

LO
LO 2021 年 7 月 10 日
編集済み: LO 2021 年 7 月 10 日
import the file and the use logic indexing, double check if it is selecting the right rows, if not just change the index array to index = 1:3:height(forcetest), I am not sure which rows you need
% filename = 'C:\YOURPATH\forcetest.csv';
filename = 'C:\Users\Livio\Downloads\forcetest.csv';
delimiter = ',';
formatSpec = '%f%f%f%[^\n\r]';
fileID = fopen(filename,'r');
dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'TextType', 'string', 'EmptyValue', NaN, 'ReturnOnError', false);
fclose(fileID);
forcetest = table(dataArray{1:end-1}, 'VariableNames', {'VarName1','VarName2','VarName3'});
clearvars filename delimiter formatSpec fileID dataArray ans;
index = 1:2:height(forcetest);
selected_table = forcetest(index,:);
  2 件のコメント
Petch Anuwutthinawin
Petch Anuwutthinawin 2021 年 7 月 10 日
Oh sorry I mistyped, I meant that I need the rows where column 1 is equal to 2. So it would be row 3,6,9 etc but there are multiple points where it misses a 2. Therefore I cannot sort by code.
LO
LO 2021 年 7 月 10 日
編集済み: LO 2021 年 7 月 10 日
this selects rows with values equal to 2
index = table2array(forcetest(:,1))==2;

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Import from MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by