book_generator/make_intrigues_to_csv.py

39 lines
1.3 KiB
Python

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