Utilisation de fichier CSV sous python (Delsys)

Ylhan_ Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33687 Date d'inscription   Statut Modérateur Dernière intervention   29 avril 2025 à 16:18

Bonjour,

Je travaille actuellement sur un projet visant à synchroniser deux technologies : Xsens (pour les données de mouvement) et Delsys (pour les signaux EMG). L’objectif final est de créer une interface intuitive permettant à n’importe qui — même sans connaissances techniques — de visualiser et comprendre les données recueillies.

J’ai déjà développé un programme qui affiche des graphes des variations angulaires en fonction du temps,une vidéo synchronisée pour visualiser le mouvement effectué. Je souhaite maintenant y intégrer les signaux EMG enregistrés avec Delsys.

Le problème concerne la lecture des fichiers EMG. J’ai exporté les données depuis EMGworks au format texte (.csv), mais la structure du fichier me semble difficile à interpréter. Mon objectif est de récupérer les signaux EMG pour chaque muscle, puis de les tracer dans des graphes avec Python.

Quelqu’un a-t'il déjà travaillé avec ce type de fichier, ou saurait comment extraire proprement les données EMG depuis un fichier texte généré par EMGworks, en utilisant Python ?

Je s le fichier concerné à ce message.
Merci d’avance pour votre aide !

Label: L BICEPS BRACHII: EMG 1 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: L BICEPS BRACHII: ACC.X 1 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L BICEPS BRACHII: ACC.Y 1 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L BICEPS BRACHII: ACC.Z 1 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L BICEPS BRACHII: GYRO.X 1 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L BICEPS BRACHII: GYRO.Y 1 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L BICEPS BRACHII: GYRO.Z 1 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L TRICEPS BRACHII: EMG 2 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: L TRICEPS BRACHII: ACC.X 2 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L TRICEPS BRACHII: ACC.Y 2 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L TRICEPS BRACHII: ACC.Z 2 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L TRICEPS BRACHII: GYRO.X 2 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L TRICEPS BRACHII: GYRO.Y 2 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L TRICEPS BRACHII: GYRO.Z 2 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R BICEPS BRACHII: EMG 3 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: R BICEPS BRACHII: ACC.X 3 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R BICEPS BRACHII: ACC.Y 3 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R BICEPS BRACHII: ACC.Z 3 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R BICEPS BRACHII: GYRO.X 3 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R BICEPS BRACHII: GYRO.Y 3 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R BICEPS BRACHII: GYRO.Z 3 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R TRICEPS BRACHII: EMG 4 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: R TRICEPS BRACHII: ACC.X 4 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R TRICEPS BRACHII: ACC.Y 4 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R TRICEPS BRACHII: ACC.Z 4 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R TRICEPS BRACHII: GYRO.X 4 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R TRICEPS BRACHII: GYRO.Y 4 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R TRICEPS BRACHII: GYRO.Z 4 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L LATISSIMUS DORSI: EMG 5 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: L LATISSIMUS DORSI: ACC.X 5 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L LATISSIMUS DORSI: ACC.Y 5 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L LATISSIMUS DORSI: ACC.Z 5 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L LATISSIMUS DORSI: GYRO.X 5 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L LATISSIMUS DORSI: GYRO.Y 5 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L LATISSIMUS DORSI: GYRO.Z 5 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R LATISSIMUS DORSI: EMG 6 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: R LATISSIMUS DORSI: ACC.X 6 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R LATISSIMUS DORSI: ACC.Y 6 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R LATISSIMUS DORSI: ACC.Z 6 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R LATISSIMUS DORSI: GYRO.X 6 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R LATISSIMUS DORSI: GYRO.Y 6 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R LATISSIMUS DORSI: GYRO.Z 6 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R PECTORALIS MAJOR: EMG 7 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: R PECTORALIS MAJOR: ACC.X 7 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R PECTORALIS MAJOR: ACC.Y 7 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R PECTORALIS MAJOR: ACC.Z 7 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R PECTORALIS MAJOR: GYRO.X 7 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R PECTORALIS MAJOR: GYRO.Y 7 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R PECTORALIS MAJOR: GYRO.Z 7 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L PECTORALIS MAJOR: EMG 8 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: L PECTORALIS MAJOR: ACC.X 8 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L PECTORALIS MAJOR: ACC.Y 8 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L PECTORALIS MAJOR: ACC.Z 8 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L PECTORALIS MAJOR: GYRO.X 8 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L PECTORALIS MAJOR: GYRO.Y 8 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L PECTORALIS MAJOR: GYRO.Z 8 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L DELTOID: EMG 9 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: L DELTOID: ACC.X 9 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L DELTOID: ACC.Y 9 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L DELTOID: ACC.Z 9 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: L DELTOID: GYRO.X 9 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L DELTOID: GYRO.Y 9 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: L DELTOID: GYRO.Z 9 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R DELTOID: EMG 10 Sampling frequency: 1.259259e+003 Number of points: 37111 X start: 0.000000e+000 Unit: V Domain Unit: s
Label: R DELTOID: ACC.X 10 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R DELTOID: ACC.Y 10 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R DELTOID: ACC.Z 10 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: g Domain Unit: s
Label: R DELTOID: GYRO.X 10 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R DELTOID: GYRO.Y 10 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Label: R DELTOID: GYRO.Z 10 Sampling frequency: 1.481481e+002 Number of points: 4366 X start: 0.000000e+000 Unit: °/s Domain Unit: s
Start Trigger Method: Trigno Wireless System (start trigger)
Stop Trigger Method: Trigno Wireless System (stop trigger)
Use Camera: NO
Video File Path: 
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 3.000000e+002
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 2.048000e+003
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
System Gain: 1.640000e+001
A/D card Gain: 1.000000e+000
Bit Resolution: -1.000000e+000
Bias: 0.000000e+000
High  cutoff frequency: 0.000000e+000
Low  cutoff frequency: 0.000000e+000
X [s],L BICEPS BRACHII: EMG 1 [V],X [s],L BICEPS BRACHII: ACC.X 1 [g],X [s],L BICEPS BRACHII: ACC.Y 1 [g],X [s],L BICEPS BRACHII: ACC.Z 1 [g],X [s],L BICEPS BRACHII: GYRO.X 1 [°/s],X [s],L BICEPS BRACHII: GYRO.Y 1 [°/s],X [s],L BICEPS BRACHII: GYRO.Z 1 [°/s],X [s],L TRICEPS BRACHII: EMG 2 [V],X [s],L TRICEPS BRACHII: ACC.X 2 [g],X [s],L TRICEPS BRACHII: ACC.Y 2 [g],X [s],L TRICEPS BRACHII: ACC.Z 2 [g],X [s],L TRICEPS BRACHII: GYRO.X 2 [°/s],X [s],L TRICEPS BRACHII: GYRO.Y 2 [°/s],X [s],L TRICEPS BRACHII: GYRO.Z 2 [°/s],X [s],R BICEPS BRACHII: EMG 3 [V],X [s],R BICEPS BRACHII: ACC.X 3 [g],X [s],R BICEPS BRACHII: ACC.Y 3 [g],X [s],R BICEPS BRACHII: ACC.Z 3 [g],X [s],R BICEPS BRACHII: GYRO.X 3 [°/s],X [s],R BICEPS BRACHII: GYRO.Y 3 [°/s],X [s],R BICEPS BRACHII: GYRO.Z 3 [°/s],X [s],R TRICEPS BRACHII: EMG 4 [V],X [s],R TRICEPS BRACHII: ACC.X 4 [g],X [s],R TRICEPS BRACHII: ACC.Y 4 [g],X [s],R TRICEPS BRACHII: ACC.Z 4 [g],X [s],R TRICEPS BRACHII: GYRO.X 4 [°/s],X [s],R TRICEPS BRACHII: GYRO.Y 4 [°/s],X [s],R TRICEPS BRACHII: GYRO.Z 4 [°/s],X [s],L LATISSIMUS DORSI: EMG 5 [V],X [s],L LATISSIMUS DORSI: ACC.X 5 [g],X [s],L LATISSIMUS DORSI: ACC.Y 5 [g],X [s],L LATISSIMUS DORSI: ACC.Z 5 [g],X [s],L LATISSIMUS DORSI: GYRO.X 5 [°/s],X [s],L LATISSIMUS DORSI: GYRO.Y 5 [°/s],X [s],L LATISSIMUS DORSI: GYRO.Z 5 [°/s],X [s],R LATISSIMUS DORSI: EMG 6 [V],X [s],R LATISSIMUS DORSI: ACC.X 6 [g],X [s],R LATISSIMUS DORSI: ACC.Y 6 [g],X [s],R LATISSIMUS DORSI: ACC.Z 6 [g],X [s],R LATISSIMUS DORSI: GYRO.X 6 [°/s],X [s],R LATISSIMUS DORSI: GYRO.Y 6 [°/s],X [s],R LATISSIMUS DORSI: GYRO.Z 6 [°/s],X [s],R PECTORALIS MAJOR: EMG 7 [V],X [s],R PECTORALIS MAJOR: ACC.X 7 [g],X [s],R PECTORALIS MAJOR: ACC.Y 7 [g],X [s],R PECTORALIS MAJOR: ACC.Z 7 [g],X [s],R PECTORALIS MAJOR: GYRO.X 7 [°/s],X [s],R PECTORALIS MAJOR: GYRO.Y 7 [°/s],X [s],R PECTORALIS MAJOR: GYRO.Z 7 [°/s],X [s],L PECTORALIS MAJOR: EMG 8 [V],X [s],L PECTORALIS MAJOR: ACC.X 8 [g],X [s],L PECTORALIS MAJOR: ACC.Y 8 [g],X [s],L PECTORALIS MAJOR: ACC.Z 8 [g],X [s],L PECTORALIS MAJOR: GYRO.X 8 [°/s],X [s],L PECTORALIS MAJOR: GYRO.Y 8 [°/s],X [s],L PECTORALIS MAJOR: GYRO.Z 8 [°/s],X [s],L DELTOID: EMG 9 [V],X [s],L DELTOID: ACC.X 9 [g],X [s],L DELTOID: ACC.Y 9 [g],X [s],L DELTOID: ACC.Z 9 [g],X [s],L DELTOID: GYRO.X 9 [°/s],X [s],L DELTOID: GYRO.Y 9 [°/s],X [s],L DELTOID: GYRO.Z 9 [°/s],X [s],R DELTOID: EMG 10 [V],X [s],R DELTOID: ACC.X 10 [g],X [s],R DELTOID: ACC.Y 10 [g],X [s],R DELTOID: ACC.Z 10 [g],X [s],R DELTOID: GYRO.X 10 [°/s],X [s],R DELTOID: GYRO.Y 10 [°/s],X [s],R DELTOID: GYRO.Z 10 [°/s]
0.00000e+000,-5.20333e-006,0.00000e+000,-5.85938e-001,0.00000e+000,-7.55859e-001,0.00000e+000,-4.61426e-001,0.00000e+000,-2.10976e+001,0.00000e+000,1.01829e+001,0.00000e+000,5.48780e+000,0.00000e+000,-1.22530e-005,0.00000e+000,-1.08887e-001,0.00000e+000,8.98438e-001,0.00000e+000,3.00293e-001,0.00000e+000,4.08537e+000,0.00000e+000,7.92683e-001,0.00000e+000,-7.31707e-001,0.00000e+000,-3.69268e-006,0.00000e+000,6.57715e-001,0.00000e+000,-7.09961e-001,0.00000e+000,2.96875e-001,0.00000e+000,8.96342e+000,0.00000e+000,1.21951e+001,0.00000e+000,-3.65854e-001,0.00000e+000,-1.79599e-005,0.00000e+000,-7.34863e-001,0.00000e+000,-7.05078e-001,0.00000e+000,-2.94922e-001,0.00000e+000,6.28049e+000,0.00000e+000,5.48780e+000,0.00000e+000,-3.23171e+000,0.00000e+000,4.31540e-004,0.00000e+000,-2.92969e-003,0.00000e+000,-1.36719e-002,0.00000e+000,9.14063e-001,0.00000e+000,-8.53659e-001,0.00000e+000,1.08537e+001,0.00000e+000,-1.28049e+000,0.00000e+000,-6.21042e-006,0.00000e+000,6.83594e-003,0.00000e+000,-2.44141e-002,0.00000e+000,9.52637e-001,0.00000e+000,1.32927e+001,0.00000e+000,1.75000e+001,0.00000e+000,4.75610e+000,0.00000e+000,-2.50095e-005,0.00000e+000,-1.95313e-003,0.00000e+000,-1.80664e-002,0.00000e+000,9.31641e-001,0.00000e+000,-7.19512e+000,0.00000e+000,1.03659e+000,0.00000e+000,-2.80488e+000,0.00000e+000,6.09796e-004,0.00000e+000,-1.07422e-002,0.00000e+000,-1.46484e-002,0.00000e+000,9.51660e-001,0.00000e+000,7.92683e-001,0.00000e+000,3.59756e+000,0.00000e+000,-1.15854e+000,0.00000e+000,-5.53903e-006,0.00000e+000,-5.17578e-001,0.00000e+000,-6.95801e-001,0.00000e+000,4.44336e-001,0.00000e+000,2.86585e+000,0.00000e+000,6.09756e+000,0.00000e+000,6.70732e-001,0.00000e+000,-5.65652e-005,0.00000e+000,2.73438e-002,0.00000e+000,-8.22754e-001,0.00000e+000,5.49316e-001,0.00000e+000,5.00000e+000,0.00000e+000,7.56098e+000,0.00000e+000,9.75610e-001
7.94118e-004,-6.88182e-006,6.75000e-003,-5.84473e-001,6.75000e-003,-7.57813e-001,6.75000e-003,-4.58984e-001,6.75000e-003,-2.07927e+001,6.75000e-003,1.00000e+001,6.75000e-003,5.60976e+000,7.94118e-004,-8.22461e-006,6.75000e-003,-1.08887e-001,6.75000e-003,8.98438e-001,6.75000e-003,2.98828e-001,6.75000e-003,4.02439e+000,6.75000e-003,7.31707e-001,6.75000e-003,-9.75610e-001,7.94118e-004,-4.86763e-006,6.75000e-003,6.43066e-001,6.75000e-003,-7.11914e-001,6.75000e-003,3.02246e-001,6.75000e-003,9.57317e+000,6.75000e-003,1.24390e+001,6.75000e-003,-3.65854e-001,7.94118e-004,-1.79599e-005,6.75000e-003,-7.53906e-001,6.75000e-003,-7.04102e-001,6.75000e-003,-3.17383e-001,6.75000e-003,5.48780e+000,6.75000e-003,6.82927e+000,6.75000e-003,-1.89024e+000,7.94118e-004,7.36355e-004,6.75000e-003,-4.88281e-004,6.75000e-003,-1.31836e-002,6.75000e-003,9.14063e-001,6.75000e-003,-6.70732e-001,6.75000e-003,1.08537e+001,6.75000e-003,-1.03659e+000,7.94118e-004,-6.37827e-006,6.75000e-003,5.85938e-003,6.75000e-003,-2.44141e-002,6.75000e-003,9.49219e-001,6.75000e-003,1.32927e+001,6.75000e-003,1.74390e+001,6.75000e-003,4.93902e+000,7.94118e-004,-2.50095e-005,6.75000e-003,1.95313e-003,6.75000e-003,-1.70898e-002,6.75000e-003,9.27246e-001,6.75000e-003,-7.25610e+000,6.75000e-003,1.03659e+000,6.75000e-003,-2.74390e+000,7.94118e-004,3.67590e-004,6.75000e-003,-8.78906e-003,6.75000e-003,-1.56250e-002,6.75000e-003,9.52148e-001,6.75000e-003,8.53659e-001,6.75000e-003,3.53659e+000,6.75000e-003,-1.03659e+000,7.94118e-004,-5.03548e-006,6.75000e-003,-5.15625e-001,6.75000e-003,-6.97266e-001,6.75000e-003,4.46289e-001,6.75000e-003,3.10976e+000,6.75000e-003,5.91463e+000,6.75000e-003,6.09756e-001,7.94118e-004,-9.44991e-005,6.75000e-003,2.34375e-002,6.75000e-003,-8.34473e-001,6.75000e-003,5.55664e-001,6.75000e-003,5.60976e+000,6.75000e-003,6.70732e+000,6.75000e-003,1.46341e+000
1.58824e-003,-4.53193e-006,1.35000e-002,-5.81055e-001,1.35000e-002,-7.59277e-001,1.35000e-002,-4.60449e-001,1.35000e-002,-2.05488e+001,1.35000e-002,9.93902e+000,1.35000e-002,5.67073e+000,1.58824e-003,-1.20851e-005,1.35000e-002,-1.11816e-001,1.35000e-002,8.96973e-001,1.35000e-002,3.00781e-001,1.35000e-002,4.02439e+000,1.35000e-002,4.87805e-001,1.35000e-002,-9.14634e-001,1.58824e-003,-5.03548e-006,1.35000e-002,6.31348e-001,1.35000e-002,-7.09961e-001,1.35000e-002,3.24707e-001,1.35000e-002,1.06707e+001,1.35000e-002,1.07927e+001,1.35000e-002,-5.48781e-001,1.58824e-003,8.05676e-006,1.35000e-002,-7.84668e-001,1.35000e-002,-6.98730e-001,1.35000e-002,-3.27637e-001,1.35000e-002,4.20732e+000,1.35000e-002,5.79268e+000,1.35000e-002,-6.09756e-001,1.58824e-003,9.62951e-004,1.35000e-002,-1.95313e-003,1.35000e-002,-1.51367e-002,1.35000e-002,9.13574e-001,1.35000e-002,-7.92683e-001,1.35000e-002,1.07317e+001,1.35000e-002,-1.21951e+000,1.58824e-003,-6.88182e-006,1.35000e-002,6.83594e-003,1.35000e-002,-2.58789e-002,1.35000e-002,9.53613e-001,1.35000e-002,1.31098e+001,1.35000e-002,1.74390e+001,1.35000e-002,4.81707e+000,1.58824e-003,-2.50095e-005,1.35000e-002,0.00000e+000,1.35000e-002,-1.90430e-002,1.35000e-002,9.30664e-001,1.35000e-002,-7.31707e+000,1.35000e-002,9.75610e-001,1.35000e-002,-2.80488e+000,1.58824e-003,1.50729e-004,1.35000e-002,-1.12305e-002,1.35000e-002,-1.26953e-002,1.35000e-002,9.50684e-001,1.35000e-002,8.53659e-001,1.35000e-002,3.53659e+000,1.35000e-002,-1.28049e+


Windows / Edge 135.0.0.0

A voir également:

2 réponses

yoyo_danse_le_yeye
 

Salut.

Ce n'est pas clair que ce qu'il faut récupérer dans le fichier.

Si ce sont les lignes où il y a Label et EMG, difficile de faire sans une regex vu que ce fichier n'a rien d'un csv (aucun séparateur de champs...).

import re


FILE = '/CHEMIN/VERS/FICHIER/data'

EXP = (
    r'Label: ((?:(?:L|R) )?[A-Z]+) '
    r'([A-Z]+): EMG (\d+) '
    r'Sampling frequency: (.+) '
    r'Number of points: (\d+) '
    r'X start: (.+) '
    r'Unit: (.+) '
    r'Domain Unit: (.+)'
)

muscles = {}

with open(FILE) as f:
    for line in f:
        if 'Label' in line and 'EMG' in line:
            match = re.match(EXP, line)
            values = {
                'Label': match[1],
                'EMG': int(match[3]),
                'Sampling frequency': float(match[4]),
                'Number of points': int(match[5]),
                'X start': float(match[6]),
                'Unit': match[7],
                'Domain Unit': match[8],
            }
            muscles[match[2]] = values

from pprint import pprint
pprint(muscles)

Si ce n'est pas cela qu'il faut récupérer, alors précise mieux ce qu'il faut obtenir là dedans ;-)

Si c'est bien cela, sans doute que tout n'est pas à récupérer dans les lignes, à toi de voir.

0
mamiemando Messages postés 33687 Date d'inscription   Statut Modérateur Dernière intervention    

Bonjour,

Le fichier n'a pas un format standard (e.g. ni JSON, ni CSV, ni XML...) et donc soit il faut trouver un parseur dédié, soit en écrire un à la main. La bonne nouvelle c'est que c'est un fichier texte semi-structuré, donc c'est faisable (mais fastidieux).

Avant d'envisager d'écrire le parseur à la main, tu devrais regarder s'il n'existe pas un module python open source qui fait déjà ça. Notamment, peut-être que libemg fait ce qu'il faut (#1. Mais le problème, c'est qu'il n'y a pas que le motif EXP (il faudrait définir une expression régulière par motif d'intérêt), et pour un même motif, plusieurs lignes peuvent coïncider (et c'est d'ailleurs le cas d'EXP). Dans ce genre de situation, si tu veux toutes les mémoriser, il faut les organiser dans une structure de données.

Comme c'est assez long et fastidieux, il faut sans doute te demander en amont quelles sont les lignes dont tu as réellement besoin et ne te focaliser que sur l'extraction des données pertinentes.

Dans ma compréhension, le début du fichier définit un ensemble d'élements (L BICEPS, L TRICEPS, ...) comportant des sous-éléments (EMG 1, ACC.X 1) dont l'identifiant est globalement unique et caractérisés par une structure de donnée qui précise les attributs :

  • Sampling frequency (float)
  • Number of points (int)
  • X start (float)
  • Unit (str)
  • Domain Unit (str)

Il serait donc assez naturel de définir une classe qui rassemble ces attributs, et créer une instance par ligne quitte à les réorganiser dans un dictionnaire ou dans une liste.

Ensuite, ton fichier semble ensuite répéter des blocs lignes de la forme :

System Gain: (float)
A/D card Gain: (float)
Bit Resolution: (float)
Bias: (float)
High  cutoff frequency: (float)
Low  cutoff frequency: (float)

Ici, il faudrait probablement définir un objet qui rassemble ces attributs et les enregistrer dans une liste.

La fin du fichier semble correspondre à du CSV, donc là tu pourrais utiliser un parseur csv. Par contre les données n'ont pas l'air de coïncider avec ce qui précède dans le fichier.

Bonne chance

0