You can use awk
to convert text to number like with this command:
split("ABCDEFGHIJKLMNOPQRSTUVWXYZ",a,"")
So you can get some like this:
awk -F":|," 'BEGIN {split("ABCDEFGHIJKLMNOPQRSTUVWXYZ",a,"");for (i=1;i<=27;i++) x[a[i]]=i} {print x[$1],$3,$5}' OFS=, file
1,2.33,3.18
13,8.72,7.25
25,9.55,3.43
3,5.78,4.32
It makes an array with a[1]=A a[2]=B
etc, then convert it so x[A]=1 x[B]=2 etc
Split the data by :
and ,
then convert first column from text to value and print the rest.
Using google
would help to solve this: How to print ASCII value of a character using basic awk only
To handle multiple column:
awk -F":|," 'BEGIN {split("ABCDEFGHIJKLMNOPQRSTUVWXYZ",a,"");for (i=1;i<=27;i++) x[a[i]]=i} {printf "%s,",x[$1];for (i=3;i<NF;i+=2) printf "%s,",$i;print $NF}' OFS=, file