Rechercher : dans
Par :

Extraire des données d'un fichier texte

damilari, le 12 jun 2009 à 14:16:32 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaite extraire des données d'un fichier texte (ou xml) et les placer dans une matrice dans Matlab.

Le fichier txt contient les lignes suivantes organisées en plusieurs blocks (3 dans l'exemple):

<objects>
<object CastShadows="yes" ReceiveShadows="yes" file="noPDB/Cryo_70S.3ds" name="70S_ribosome_0" parent="root" visible="true">
<position x="-932.390112" y="465.456642" z="-113.6953240"/>
<rotation w="-0.168567" x="-0.821863" y="0.131280" z="-0.3853420"/>
<scale x="1.000000" y="1.000000" z="1.000000"/>
</object>
<object CastShadows="yes" ReceiveShadows="yes" file="noPDB/Cryo_70S.3ds" name="70S_ribosome_1" parent="root" visible="true">
<position x="-191.334869" y="-815.207902" z="659.0063650"/>
<rotation w="-0.990832" x="-0.622205" y="-0.533263" z="0.8630410"/>
<scale x="1.000000" y="1.000000" z="1.000000"/>
</object>
<object CastShadows="yes" ReceiveShadows="yes" file="noPDB/Cryo_70S.3ds" name="70S_ribosome_2" parent="root" visible="true">
<position x="854.322695" y="645.500598" z="-764.8095280"/>
<rotation w="0.830886" x="0.836896" y="-0.454449" z="0.7615380"/>
<scale x="1.000000" y="1.000000" z="1.000000"/>


Je souhaiterai extraire de chaque bloc les 3 valeurs position x, y et z, les 4 valeurs correspondant à rotation w, x, y et z, et la chaîne de caractères correspondant à name= (ici il faut donc extraire 70S_ribosome_0, 1 et 2).

Ensuite, je souhaite placer ces valeurs dans une matrice qui contient autant de lignes que de blocks et contenant 8 colonnes : la colonne 1 contient le nom, la colonne 2 contient la position x, etc... jusqu'à la colonne 8 qui contient la rotation z.

La logique de "textscan" m'échappe toujours. De plus, j'ai testé sans succès les outils de type XML toolbox.
Grand merci pour votre aide.

Configuration: Windows Vista
Firefox 3.0.10

Meilleures réponses pour « Extraire des données d'un fichier texte » dans :
MySQL - Chargement d'un fichier texte dans une table Voir Pour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.
Collection CommentÇaMarche.net