Extraire.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """programme python qui :
  2. ouvre un fichier valeur.txt. puis pour chaque valeurs (une par ligne) crée un fichier dont le nom et la valeurs (fichier unitaire).
  3. Puis ouvre un fichier date.txt et qui pour chaque date du fichier (une date par ligne) va recupere dans le fichier (qui se nomme "valeur-date") qui se trouve dans le dossier valeur
  4. une variable avec la fonction trouver_valeur_max. Stock cette variable dans une nouvelle ligne du fichier unitaire de la valeur sous la forme ( date : valeur )
  5. si le fichier n'existe pas ecrire a cette date ecrire la derniere valeur connu
  6. """
  7. def trouver_valeur_max(fichier):
  8. # Ouvrir le fichier en mode lecture
  9. with open(fichier, 'r') as f:
  10. # Lire toutes les lignes du fichier
  11. lignes = f.readlines()
  12. # Vérifier si le fichier est vide
  13. if not lignes:
  14. return None
  15. # Récupérer la dernière ligne du fichier
  16. derniere_ligne = lignes[-1]
  17. # Extraire la valeur à partir de la dernière ligne
  18. valeur_max = derniere_ligne.strip()
  19. return valeur_max
  20. # Ouvrir le fichier valeur.txt en mode lecture
  21. with open('valeur.txt', 'r') as fichier_valeur:
  22. # Parcourir chaque ligne du fichier valeur.txt
  23. for ligne_valeur in fichier_valeur:
  24. # Nettoyer la ligne en supprimant les espaces et les sauts de ligne
  25. valeur = ligne_valeur.strip()
  26. # Créer un nouveau fichier avec le nom de la valeur
  27. with open(f"{valeur}.txt", 'w') as fichier_unitaire:
  28. # Écrire la valeur dans le fichier de sortie
  29. fichier_unitaire.write(valeur)
  30. # Ouvrir le fichier date.txt en mode lecture
  31. with open('date.txt', 'r') as fichier_date:
  32. # Parcourir chaque ligne du fichier date.txt
  33. for ligne_date in fichier_date:
  34. # Nettoyer la ligne en supprimant les espaces et les sauts de ligne
  35. date = ligne_date.strip()
  36. # Construire le nom du fichier valeur-date
  37. nom_fichier = f"valeur-{date}.txt"
  38. # Récupérer la valeur maximale avec la fonction trouver_valeur_max
  39. valeur_max = trouver_valeur_max(nom_fichier)
  40. # Vérifier si le fichier existe
  41. if valeur_max is None:
  42. # Écrire la dernière valeur connue dans une nouvelle ligne du fichier unitaire
  43. fichier_unitaire.write(f"\n{date}: {valeur_max}")
  44. else:
  45. # Stocker la valeur maximale dans une nouvelle ligne du fichier unitaire
  46. ligne_resultat = f"{date}: {valeur_max}\n"
  47. fichier_unitaire.write(ligne_resultat)
  48. print("Opération terminée.")