How to keep only numbers in a cell (.xlsx file)?

7 vues (au cours des 30 derniers jours)
Ivan Mich
Ivan Mich le 7 Fév 2021
Modifié(e) : Ive J le 7 Fév 2021
I have an .xlsx file. In one column there are numbers and text in each cell (e.g. 0.562550 (AHV)).
How could I keep ONLY the number of each cell (e.g. ONLY the 0.562550) ??
I am uploading the file in order to understand.
Thank you in advance

Réponse acceptée

Walter Roberson
Walter Roberson le 7 Fév 2021
c = readcell('test.xlsx');
data = cellfun(@(C) str2double(regexprep(C, '\(.*', '')), c)

Plus de réponses (1)

Ive J
Ive J le 7 Fév 2021
Modifié(e) : Ive J le 7 Fév 2021
x = readcell('test.xlsx')
nums = cellfun(@(x)sscanf(x, '%f', 1), x)
1.4420
0.3320
0.3560
0.8530
250.8690
8.8190
  2 commentaires
Walter Roberson
Walter Roberson le 7 Fév 2021
Good point. Though I might suggest adding a size to the sscanf() to prevent it from trying to look for more values, and as a guard against the possibility of having a second value that looked like a number in the cell.
Ive J
Ive J le 7 Fév 2021
Modifié(e) : Ive J le 7 Fév 2021
True, this works only for simple situations like this. Otherwise, regexp would guard against those sloppiness with sscanf and more complex formats. Now I've modified it, tanx!

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by