Exportation de résultats vers Excel¶
Informations¶
Fichier :
Knu/Scripts/Librairies/outilsExcel.pyAuteur: Victor Baconnet
Date de dernière modification: 27 août 2021
Description¶
Outils d’écriture et d’édition de données et graphiques sur excel
Utilisation¶
Ces fonctions sont à importer directement dans vos programmes.
L’exécution de ce fichier ne produira aucun résultat.
Exemple d’utilisation¶
Ecriture de données et affichage:
import outilsExcel as oxc
from openpyxl import Workbook
from openpyxl.chart import ScatterChart
from numpy import sin, pi, linspace
from pandas import DataFrame
# Génération de données
t = linspace(0,10,1001)
y1 = sin(2*pi*t)
y2 = sin(2*pi*t/4)
y3 = y1*y2
# Tout mettre dans un dataframe
df = DataFrame(data = [t,y1,y2,y3]).transpose()
df.columns = ["t","Periode 1s","Periode 4s","Produit"]
# Initialisation du fichier excel et des feuilles de donées
wkbk = Workbook() # Objet worbook = fichier excel
donnees = wkbk.active
donnees.title = "Données"
graphes = wkbk.create_sheet("Graphiques")
# Creation des objets graphiques
chart1 = ScatterChart(auto_axis = False)
chart2 = ScatterChart(auto_axis = False)
# Ecriture des données
oxc.write(df, donnees, with_index = False)
# Affichage des graphiques
oxc.plot(chart1, [(1,2),(1,3)], donnees, graphes, "A1",
xlabel = "Temps (s)", y_min_row = 2, x_min_row = 2,
get_title = True, xlim=(0,10))
oxc.plot(chart2, [(1,4)], donnees, graphes, "M1",
xlabel = "Temps (s)", y_min_row = 2, x_min_row = 2,
get_title = True, xlim=(0,10))
#Sauvegarde
wkbk.save("exemple.xlsx")
Fonctions¶
- outilsExcel.make_plot(chart, data_sheet, x_col, y_col, x_min_row=2, y_min_row=2, get_title=True)¶
Tracer un graphique sur une feuille à partir de données d’une autre feuille. Trace colonne par colonne.
- Parameters
chart (openpyxl.chart.line_chart.LineChart) – Objet LineChart sur lequel tracer
plot_sheet (openpyxl.worksheet.worksheet.Worksheet) – Feuille sur laquelle tracer
qf_sheet (openpyxl.worksheet.worksheet.Worksheet) – Feuille à partir de laquelle récupérer les données
x_col (int) – Indice de la colonne des x (commence à 1)
y_col (int) – Indice de la colonne des y (commence à 1)
get_title (bool) – Indique si il faut récupérer le titre de la colonne y ou non
- outilsExcel.plot(chart, cols, data_sheet, plot_sheet, where, title='', xlabel='', ylabel='', y_min_row=1, x_min_row=2, height=15, width=20, legend_position='t', display_legend=True, xlim=None, ylim=None, get_title=True, additional_info='')¶
Tracer plusieurs jeux de données sur un même graphique
- Parameters
chart (ScatterChart) – Object chart sur lequel faire le graphique. Se crée avec la commande :
chart = ScatterChart(auto_axis = False)cols (list(tuple(int))) – Colonnes à tracer. Syntaxe:
[(x1,y1), (x2,y2), ...], où lesxietyisont des entiers correspondant aux colonnes à tracer. La colonne A est la numéro 1, et ainsi de suite.data_sheet (openpyxl.worksheet.worksheet.Worksheet) – Feuille dans laquelle récupérer les données
plot_sheet (openpyxl.worksheet.worksheet.Worksheet) – Feuille sur laquelle afficher le graphique
where (str) – Cellule où faire le graphique (coin supérieur gauche). Exemple “A1”
title (str) – Titre du graphique
xlabel (str) – Nom de l’axe x
ylabel (str) – Nom de l’axe y
y_min_row (int) – Ligne minimale à partir de laquelle lire les données y, AVEC le titre! Exemple si titre en A1 et données A2:100,
y_min_row=1x_min_row (int) – Ligne minimale à partir de laquelle lire les données x, SANS le titre! Exemple si titre en A1 et données A2:100,
x_min_row=2height (int) – hauteur du graphique
width (int) – largeur du graphique
legend_position –
Position de la légende.
Top :
tBottom :
bLeft :
lRight :
r
- outilsExcel.write(data, sheet, with_index=False)¶
Ajoute (append) des données d’un DataFrame dans une feuille excel
- Parameters
data (pandas.core.frame.DataFrame) – Tableau de données de type dataframe
sheet (openpyxl.worksheet.worksheet.Worksheet) – Feuille dans laquelle écrire