How to delete in a table a row which contains a specific word

51 vues (au cours des 30 derniers jours)
Andrea Bresciani
Andrea Bresciani le 8 Avr 2022
Hello, I'm writing to you for this particular modification of my table that I extracted from a long .csv file using the function readtable
I have a very big table of data 56644x8 (some colums are number/coordinates, others contain words).
I'm interested to eliminate the rows which contain the word "Alignment" at the 7th column.
The more difficult step is that I would create a code that recognize words like Allignment, Allignment_test, Alignment_ecc, Alignment2 because I don't know if the input data could change in the future.
I'll appreciate all type of helps, thank you very much
Andrea
Edit: I attached a similar file to mine, hope it will be helpful

Réponse acceptée

Arif Hoq
Arif Hoq le 13 Avr 2022
try with this:
A=readtable('andrea_file.csv','ReadVariableNames',false,'HeaderLines',3);
B=table2cell(A);
C=string(B)
C = 2×8 string array
"R" "-0.9" "-94.8" "-9.5" "-2" "-45" "Another_text_i_want_to mantain" "1" "R" "0.5" "5" "-2" "3" "0" "Alignment_Pin" "2"
[row col]=find(C=='Alignment_Pin');
C(row,:)=[]; % eleminating row that contains "Alignment_Pin"
C(:,[2 3])=[] % eleminating column 2 and 3
C = 1×6 string array
"R" "-9.5" "-2" "-45" "Another_text_i_want_to mantain" "1"

Plus de réponses (1)

Arif Hoq
Arif Hoq le 8 Avr 2022
as you did not attach your file, i have attached my own created data
A=readtable('myfile.xlsx','ReadVariableNames',false);
B=table2array(A);
C=string(B);
[row col]=find(C=='Alignment');
C(row,:)=[];
  3 commentaires
Arif Hoq
Arif Hoq le 12 Avr 2022
is this your expectation?
A=readtable('andrea_file.csv','ReadVariableNames',false,'HeaderLines',3);
B=table2array(A);
C=string(B);
[row col]=find(C=='Alignment_Pin');
C(row,:)=[]; % eleminating row that contains "Alignment_Pin"
C(:,[2 3])=[] % eleminating column 2 and 3
Andrea Bresciani
Andrea Bresciani le 12 Avr 2022
Error using table2array (line 37)
Unable to concatenate the table variables 'Var1' and 'Var2', because their types are cell and double.
Error in Import_Matrix_status (line 5)
B=table2array(A);
Hi, using that code fives me this (the same) error.. I think the problematic is the command "table2array" that is not permitted..Maybe I can work directly on the table A to elimate row bypassing B?
Thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by