1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import pandas as pd
import numpy as np
def ajoute_dataframe_a_xlsx(fichier, dataframe):
"""
Fonction qui permet d'ajouter un DataFrame dans un fichier Excel existant ou de le créer.
Le DataFrame est ajouté à la suite dans la page active.
S'il y a eu des mises en forme (taille des colonnes, en gras...), elles seront conservées.
:param fichier: Nom du fichier Excel
:param dataframe: Nom du DataFrame à enregistrer dans le classeur
"""
from openpyxl import load_workbook
dataframe_dans_liste = dataframe.values.tolist() # Mettre le DataFrame dans une liste de liste
try: # Test que le fichier existe
classeur = load_workbook(fichier) # Charger le fichier xlxs
except FileNotFoundError: # Si le fichier n'existe pas, il est créé.
from openpyxl.workbook import Workbook
classeur = Workbook()
page = classeur.active
for info in dataframe_dans_liste:
page.append(info)
classeur.save(filename=fichier)
# Pour teste
colonne = ['col 1', 'col 2', 'col 3']
ligne = [['test 1', 'test 2', 'test 3'], ['test 1', 'test 2', 'test 3']]
df = pd.DataFrame(data=np.array(ligne), columns=colonne)
ajoute_dataframe_a_xlsx('Test_fonction.xlsx', df) |
Partager