import csv import re # Remplacer par le chemin vers le fichier Org-mode fichier_org = 'intrigues.org' # Expressions régulières pour extraire les dates et les intrigues regex_date = r'(\d+)-(\d+)' regex_intrigue = r'\* (.*)' # Ouvrir le fichier Org-mode et le fichier CSV with open(fichier_org, 'r', encoding='utf-8') as fichier_org, open('intrigues.csv', 'w', newline='', encoding='utf-8') as fichier_csv: csv_writer = csv.writer(fichier_csv) # Écrire les en-têtes dans le fichier CSV csv_writer.writerow(['Début', 'Fin', 'Intrigue']) line_counter=0 # Parcourir chaque ligne du fichier Org-mode for ligne in fichier_org: # Initialiser les variables de date et d'intrigue à zéro debut = fin = intrigue = '0' # Rechercher les dates de début et de fin match_date = re.search(regex_date, ligne) if match_date: debut = match_date.group(1) fin = match_date.group(2) else: debut = line_counter fin = line_counter+1 # Rechercher l'intrigue match_intrigue = re.search(regex_intrigue, ligne) if match_intrigue: intrigue = re.sub(regex_date, "" , match_intrigue.group(1) ) # Écrire les informations dans le fichier CSV csv_writer.writerow([debut, fin, intrigue]) line_counter+=1