Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!C:/Users/SDQ/AppData/Local/Programs/Python/Python36/python.exe
- """
- Permet la création d'un tableau MarkDown
- sur base d'une liste de valeurs données ligne par ligne
- (24 données, 4 colonnes)
- """
- liste, i, flag = [], 0, False
- for lg in open(__file__): # Pour chaque ligne du fichier
- lg = lg.rstrip()
- if flag == False: # Si l'on n'a pas encore atteint la ligne ### DATA ###
- if lg == "### DATA ###": # Teste la ligne
- flag = True # et passe à True une fois atteinte
- else: # Une fois atteinte, lit ligne par ligne
- lg = lg.replace("_", "\_").replace("# ", "") # Nettoie la ligne
- if i < len(liste): # Si l'index existe déjà
- liste[i].append(lg) # Ajoute à la sous-liste
- else: # Sinon
- liste.append([lg]) # Crée une nouvelle sous-liste avec lg comme 1er élément
- i = i + 1 if i < 5 else 0 # Si on atteint la 6e colonne, recommence à partir de la 1re
- maxlengths = []
- for sousliste in liste: # Pour chaque sous-liste
- for i, x in enumerate([len(x) for x in sousliste]): # Récupère la longueur de chaque élément
- if i < len(maxlengths): # Si l'index existe
- if x > maxlengths[i]: # Et que la longueur de l'élément est la plus grande
- maxlengths[i] = x # Attribue sa longueur à longueur max
- else: # Si l'index n'existe pas
- maxlengths.append(x) # Définit la longueur comme longueur max
- sortie = open("tableau.txt", "w") # Ouvre le fichier en sortie
- sortie.write("| | | | |\n") # Crée l'entête du tableau MarkDown (vide)
- lg = "|" + "|".join(["-" * x for x in maxlengths]) + "|" # Crée la ligne avec les tirets qui permet de générer le tableau en MarkDown
- sortie.write(f"{lg}\n") # Et l'écrit
- for sousliste in liste: # Pour chaque sous-liste (i.e. chaque ligne)
- lg = "|"
- for j, col in enumerate(sousliste): # Pour chaque colonne
- lg += col.rjust(maxlengths[j]) + "|" # Ajoute autant d'espaces que nécessaires pour l'alignement
- sortie.write(f"{lg}\n") # Imprime la ligne
- sortie.close() # Ferme le fichier
- ### DATA ###
- # __add__
- # __bool__
- # __call__
- # __contains__
- # __del__
- # __delattr__
- # __delitem__
- # __enter__, __exit__
- # __get__, __set__, __delete__
- # __getattr__
- # __getattribute__
- # __getitem__
- # __iadd__
- # __index__
- # __init__
- # __iter__, __next__
- # __len__
- # __lt__, __gt__,__le__, __ge__,__eq__, __ne__
- # __new__
- # __or__
- # __radd__
- # __repr__, __str__
- # __setattr__
- # __setitem__
Add Comment
Please, Sign In to add comment