Bonjour,
Le titre du sujet ne veut a peu près rien dire mais j'espère que vous arriverez jusque là.
Voici donc le problème. Je dois importer et traiter des gros sets de données, le problème est que le format des nombres dans ces données n'est pas toujours le même. En l'occurence, parfois le '.' est le séparateur décimal, parfois c'est la ','.
En gros une ligne donne soit :
1741480 30.04.2012 00:00:00; 5.348; 0.602; -0.334; -0.401; 2.607; -1.493; 2.34; -295.67; 0; 0; 0;1;0;0
soit
236897 01.05.2012 00:00:38;3,343;2,139;-1,604;-0,334;2,874;-1,025;3,409;-370,847;-2,511;-0,433;-0,268;1;0;0
Ce qui m'intéresse de récupérer dans ces fichiers, ce sont les données après le n° de mesure , la date et l'heure : en gros tout ce qui est après le premier point virgule.
Pour l'instant j'ai ça :
C=textscan(fid,'%*s %f %f %f %f %f %f %f %f %f %f %f %f %f %f','Delimiter',';');
Pour les données dont le spérateur décimal est le point, pas de soucis. Pour les autres, ça coince ...
Donc : questions
Une autre manière de prendre le problème ?
Une formule magique ?
Ca vaut le coup de se prendre la tête avec des REGEXP ?
Y'a un réglage dans MATLAB pour accepter différents séparateurs décimaux?
Je précise : pas la peine de faire du strrep, ça ralenti trop mon chargement de données, je peux pas me le permettre puis ... y'a forcément une solution plus élégante !
Partager