Report Excel con Python e Pandas

Mattepuffo's logo
Report Excel con Python e Pandas

Report Excel con Python e Pandas

Pandas è una libreria per Python per l'analisi dei dati.

E' praticamente uno degli standard per la creazione di report in Python.

Oggi vediamo come usarla per creare dei report in Excel.

Per prima cosa dobbiamo installare due librerie:

(venv) $ pip3 install pandas xlsxwriter

Fatto questo qui sotto il codice di esempio:

import pandas as pd
import numpy as np

file = 'report.xlsx'

df = pd.DataFrame(
    np.random.randn(5, 5),
    columns=['a', 'b', 'c', 'd', 'e'],
    index=['1', '2', '3', '4', '5']
)

writer = pd.ExcelWriter(file, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Foglio1', startrow=2)

book = writer.book
sheet = writer.sheets['Foglio1']

bold = book.add_format({'bold': True, 'size': 15})
sheet.write('A1', 'TEST REPORT CON PANDAS', bold)

colore_neg = book.add_format({'font_color': '#E93423'})
sheet.conditional_format('B4:E8', {'type': 'cell', 'criteria': '<=', 'value': 0, 'format': colore_neg})

chart = book.add_chart({'type': 'column'})
chart.add_series({'values': '=Foglio1!B4:B8', 'name': '=Foglio1!B3', 'categories': '=Foglio1!$A$4:$A$8'})
chart.add_series({'values': '=Foglio1!C4:C8', 'name': '=Foglio1!C3'})
chart.add_series({'values': '=Foglio1!D4:D8', 'name': '=Foglio1!D3'})
chart.add_series({'values': '=Foglio1!E4:E8', 'name': '=Foglio1!E3'})
sheet.insert_chart('A10', chart)

writer.save()

I numeri li creiamo in maniera casuale usando NumPy.

Poi sotto creiamo anche un grafico con gli stessi valori creati sopra.

Enjoy!


Condividi su Facebook

Commentami!