Des fonctions pour importer des données issues d’un pointage vidéo.

1 – Importation des données d’un fichier CSV ou TXT issu du logiciel LatisPro.

La fonction Latispro présentée ci dessous permet de récupérer les données (x,y,t) sous forme de listes à partir de données exportées au format CSV ou TXT depuis Latispro. L’appel à cette fonction se fait depuis le programme principal. Elle demande un paramètre à transmettre : le nom du fichier avec son extension (.txt ou .csv).

def Latispro(nom_de_fichier):
    #----------------------------------------------------
    #Extraction des données brutes du fichier de pointage
    #----------------------------------------------------
    f=open(nom_de_fichier,'r')
    donnees_brutes=f.readlines()
    f.close()
    #----------------------------------------------------
    #Retrait du "\n" de retour à la ligne
    #----------------------------------------------------
    for i in range(len(donnees_brutes)):
        donnees_brutes[i]=donnees_brutes[i][:-1]
    #----------------------------------------------------
    #Séparation des données
    #----------------------------------------------------
    donnees=[]
    if ";" in donnees_brutes[0]:
        for i in range(len(donnees_brutes)):
            donnees.append(donnees_brutes[i].split(";"))
    else:
        for i in range(len(donnees_brutes)):
            donnees.append(donnees_brutes[i].split("\t"))
    #----------------------------------------------------
    #Recherche de la colonne Temps
    #----------------------------------------------------
    for i in range(len(donnees[0])):
        if "Temps" in donnees[0][i]:
            index_T=i
    #----------------------------------------------------
    #Constitution de la liste des dates
    #----------------------------------------------------
    temps=[]
    for i in range(1,len(donnees_brutes)):
        temps.append(float(donnees[i][index_T].replace(',','.')))
    #----------------------------------------------------
    #recherche de la colonne Mouvement X
    #----------------------------------------------------
    for i in range(len(donnees[0])):
        if "X" in donnees[0][i]:
            index_X=i
    #----------------------------------------------------
    #Constitution de la liste des abscisses
    #----------------------------------------------------
    abscisses=[]
    for i in range(1,len(donnees_brutes)):
        abscisses.append(float(donnees[i][index_X].replace(',','.')))
    #recherche de la colonne Mouvement Y
    for i in range(len(donnees[0])):
        if "Y" in donnees[0][i]:
            index_Y=i
    #----------------------------------------------------
    #Constitution de la liste des ordonnees
    #----------------------------------------------------
    ordonnees=[]
    for i in range(1,len(donnees_brutes)):
        ordonnees.append(float((donnees[i][index_Y]).replace(',','.')))
    #----------------------------------------------------
    return abscisses, ordonnees, temps

#Le programme principal--------------------------------------------

x, y, t=Latispro('nom du fichier.csv')

2 – Importation des données d’un fichier TXT issu du logiciel Avistep3.

La fonction Avistep présentée ci dessous permet de récupérer les données (x,y,t) sous forme de listes à partir de données exportées au format TXT depuis Avistep3. L’appel à cette fonction se fait depuis le programme principal. Elle demande un paramètre à transmettre : le nom du fichier avec son extension (.txt).

def Avistep(nom_de_fichier):
    #Ouverture du fichier et extraction des données
    fichier=open(nom_de_fichier,"r")
    donnees=fichier.readlines()
    fichier.close()
    #Création des listes vides
    t=[]
    x=[]
    y=[]
    #Boucle de remplissage des listes x, y et t.
    for i in range(6,len(donnees)):
        ligne=donnees[i].replace(",",".")
        ligne=ligne.split("\t")

        t.append(float(ligne[0]))
        x.append(float(ligne[1]))
        y.append(float(ligne[2][0:-1]))
    return x,y,t

#Programme principal---------------------------------------

x,y,t=Avistep("nom_de_fichier.txt")