Transférer les fichiers vers ''

création du script
This commit is contained in:
Elias Martin-Morisse 2023-03-03 16:52:43 +01:00
parent ab70db0edf
commit 89e22cd59a

46
convert-ics.py Normal file
View File

@ -0,0 +1,46 @@
# Script de conversion de fichiers calendriers au format CalDAV (.ics) vers un tableur (.csv)
# Auteur : Elias Martin - elias@hereli.fr
# Licence : EUPL V1.2
## Credits : https://stackoverflow.com/questions/59958941/calendar-ics-to-csv-in-python
## and https://stackoverflow.com/questions/18262293/how-to-open-every-file-in-a-folder
## and https://stackoverflow.com/questions/9319317/quick-and-easy-file-dialog-in-python
import vobject
import csv
import os, glob
from tkinter.filedialog import askopenfilename
filename = askopenfilename()
# Changer cette variable pour écrire dans un nouveau fichier
nom_fichier_sortie = "calendriers_mediateurs.csv"
with open(nom_fichier_sortie, mode='w') as csv_out:
csv_writer = csv.writer(csv_out, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
# Changer ces éléments pour renommer les colonnes du fichier de sortie
csv_writer.writerow(['Evt', 'Début', 'Fin', 'Description', 'Lieu'])
# Décommenter (et indenter la fin du script) pour activer
#for filename in glob.glob('*.ics'):
# read the data from the file
#data = open(os.path.join(os.getcwd(), filename)).read()
#Commenter pour ne pas activer la fenêtre de sélection d'un seul fichier
data = open(filename).read()
# iterate through the contents
for cal in vobject.readComponents(data):
for component in cal.components():
if component.name == "VEVENT":
writerow = []
for attr in ['summary', 'dtstart', 'dtend', 'description', 'location']:
if hasattr(component, attr):
writerow.append(getattr(component, attr).valueRepr())
else:
writerow.append('-')
#print(writerow)
csv_writer.writerow(writerow)