Changer une date en une date aléatoire - Python
Résolujee pee Messages postés 41513 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir,
Je cherche à faire un script en Python.
(Année) J'ai un fichier "input.txt" où il y a un tas de choses, mais dedans à chaque ligne il y a "2023-12-07T23:59:11Z", et j'aimerais que mon script supprime le "2023" en le remplaçant soit par 2019, 2020, 2021, 2022 ou laisser 2023.
(Mois) Maintenant j'aimerais qu'il change le "12" soit par 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11 ou laisser 12.
(Jour) Après, qu'il change le "07" soit par 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28.
Donc bien sûr je veux que le script reste dans la meme structure donc: année-mois-jourT23:59:11Z (on ne touche pas aux heures, minutes, secondes)
Puis le script va sauvegarder dans un fichier par exemple "output.txt" tout les nouveaux changements.
J'ai essayé de codé tout seul mais je n'y arrive pas quelqu'un pourrait m'aider svp ?
Bonne soirée, Cordialement.
- Date aleatoire
- Airpods 3 date de sortie - Guide
- Jm date avis - Forum Consommation & Internet
- Jm date désabonnement - Forum Gmail
- Publipostage date inversée - Forum Word
- Trier par date excel - Guide
1 réponse
Bonjour,
Généralement on n'écrit pas le code à ta place. On te demande de poster ton code pour voir ce qui ne va pas. Tu peux le poster pour voir dans quelle direction tu es parti. On voit que tu essaies de contourner le soucis des mois de 31 jours en t’arrêtant à 28, mais utiliser une fonction date pourrait éviter cela.
Dans le cas présent j'ai eu l'envie d'écrire le code, alors en voilà un :
import datetime import random start_date = datetime.date(2019, 1, 1) end_date = datetime.date(2023, 12, 31) with open('input.txt', 'r') as fici, open('output.txt', 'w') as fico: for ligne in fici: random_date = start_date + (end_date - start_date) * random.random() ligne=ligne.replace("2023-12-07", random_date.strftime("%Y-%m-%d")) fico.write(ligne)
ref date aléatoire entre 2 dates : https://blog.finxter.com/how-to-generate-a-random-date-between-two-dates/