How to find multiple table column numbers by column names?

4 visualizaciones (últimos 30 días)
Using the following code, can get the column number of 'rk_mill_tonnage' in the table.
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage");
However, the 'rk_mill_tonnage' might be differnet from table to table, for example, 'ore_mill_tonnage' in another table
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" || 'ore_mill_tonnage');
The above code is wrong, as the '||' is using in scalar.Therefore, is there any other ways to get the column number among the multiple names?

Respuesta aceptada

Scott MacKenzie
Scott MacKenzie el 21 de Jun. de 2021
Editada: Scott MacKenzie el 21 de Jun. de 2021
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" | ...
string(G_Value.Properties.VariableNames) == 'ore_mill_tonnage');

Más respuestas (1)

dpb
dpb el 21 de Jun. de 2021
Editada: dpb el 21 de Jun. de 2021
col_ind_rmt = find(string(G_Value.Properties.VariableNames) == "rk_mill_tonnage" || 'ore_mill_tonnage');
Just replace "||" with "|" would make the above work but simpler coding would be
col_ind_rmt=find(contains(G_Value.Properties.VariableNames,'_mill_tonnage'));
that will return either of the above but not return 'mill_tonnage' if there were a name without a prefix and underscore.
Or, of course, you can get as sophisticated as desired/needed by using regular expressions

Categorías

Más información sobre Tables en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by